针对R中的相同主变量运行多个简单线性回归

时间:2013-10-18 15:58:25

标签: r linear-regression

我有一个data.frame(让我们称之为DF)加载到R中,基本上如下所示:

         primary_variable     var1     var2     var3     var4...     var354
sample1      5                    1        4        3        2       1
sample2      8                    2        3        4        1       2
sample3      7                    3        2        1        4       3
sample4      2                    4        1        2        3       4
.
.
.
sample58     8                    1        2        3        4

基本上,我想多次运行简单的线性回归,比较主要变量和所有其他变量,如下所示:

reg <- lm(primary_variable~var1, data=DF)
reg <- lm(primary_variable~var2, data=DF)
reg <- lm(primary_variable~var3, data=DF)
reg <- lm(primary_variable~var354, data=DF)

将数据输出到某种表中,以便我可以读取所有P值。

最简单的方法是什么?

1 个答案:

答案 0 :(得分:2)

这是一种方法:

DF <- read.table(text="         primary_variable     var1     var2     var3     var4
sample1      5                    1        4        3        2
sample2      8                    2        3        4        1
sample3      7                    3        2        1        4
sample4      2                    4        1        2        3", header=TRUE)

sapply(DF[,-1], function(x) summary(lm(DF[,1]~x))$coef[,"Pr(>|t|)"])

#                  var1     var2      var3     var4
# (Intercept) 0.1471971 0.477767 0.4023857 0.206388
# x           0.5120500 0.512050 0.7072300 0.707230

但是,我强烈建议你不要这样做。请向统计员寻求帮助。