-1

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

         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 值。

最简单的方法是什么?

4

1 回答 1

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

但是,我强烈建议您不要这样做。请寻求统计学家的帮助。

于 2013-10-18T16:14:24.440 回答