我有一个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值。
最简单的方法是什么?
答案 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
但是,我强烈建议你不要这样做。请向统计员寻求帮助。