我浏览了论坛,但找不到我要找的东西。
我想运行几次简单的线性回归。每次使用不同的列作为自变量时,因变量保持不变。运行后,我希望能够从每个回归中提取 R 平方。我的思考过程是使用一个简单的 for 循环。但是,我无法让它发挥作用。
假设我使用以下数据:
num value person1 person2 person3
0 1 229 29 81 0
1 2 203 17 75 0
2 3 244 62 0 55
我想对value
使用三个变量:person1
, person2
and person3
。请注意,这是一个最小的工作示例,但我希望概括这个想法。
所以我最初的尝试是:
column <- names(df)[-2]
for(i in 3:5){
temp <- df[,c("value", column[i])]
lm.test <- lm(value ~ ., data = temp)
i + 1
}
然而,当我跑步时summary(lm.test)
我只得到最后一次回归的摘要,即lm(value ~ person3)
我认为这是有道理的,但当尝试将其重写为:lm.test[i] <- lm(value ~ ., data = temp)
我收到以下错误:
debug at #3: temp <- df[,c("value", column[i])]
表明第 3 行有问题?
如果可能的话,我希望能够捕获每个回归的摘要,但是我真正想要的是每一个回归的 R 平方.