Rを用いた単回帰分析の基本

ある試薬を培養細胞に添加したときのある遺伝子の発現量を制御するための実験を行った。実験結果は以下の通りである。このデータを用いて単回帰分析を行う。


以下解析。

#Rを起動
$ R

#データの入力
x <- c(0.1, 0.2,0.3,0.4,0.5,0.6)
y<-c(3.1,3.8,5.7,6.7,7.5,9.3)
dat <- data.frame(x, y)

#データの確認
dat

    x   y
1 0.1 3.1
2 0.2 3.8
3 0.3 5.7
4 0.4 6.7
5 0.5 7.5
6 0.6 9.3

#データの描写
png("dat1.png"); plot(dat, xlab="reagent dose(ug)", ylab="gene expresion"); dev.off();
#回帰分析
model <- lm(y~x, data=dat)

#回帰分析結果の要約表示
summary(model)

Call:
lm(formula = y ~ x, data = dat)

Residuals:  #各残差
            1             2             3            4              5             6 
 0.16190 -0.36952  0.29905  0.06762 -0.36381  0.20476 

Coefficients:
                 Estimate     Std. Error    t value    Pr(>|t|)            #推定値
(Intercept)   1.7067        0.3056      5.585     0.00504 **     #定数項(β0)
x                12.3143       0.7847    15.693     9.63e-05 ***  #回帰係数(β1)
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.3283 on 4 degrees of freedom  #残差の標準誤差
Multiple R-squared: 0.984, Adjusted R-squared:  0.98 #寄与率、調整済寄与率
F-statistic: 246.3 on 1 and 4 DF,  p-value: 9.632e-05        #F0値、p値

#回帰係数の95%信頼区間を算出

confint(model, level=0.95)

                          2.5 %      97.5 %
(Intercept)  0.8581746    2.555159    #β0の95%信頼区間の下限と上限
x              10.1355593   14.493012   #β1の95%信頼区間の下限と上限

#実験データの散布図と回帰直線の描写

png("dat2.png");
plot(dat, xlab="reagent dose(ug)", ylab="gene expresion"); 
abline(model, col="red")
dev.off();
【参考文献】
辻谷 将明、 和田 武夫『Rで学ぶ確率・統計』共立出版 2012 122 -136 pp.