我想进行线性回归,其中我的因变量是数据$ fs_deviation_score,而独立的可变数据是我数据框的多列(第660到675列)。
使用此功能它可以工作,但我无法保存输出(Coefficients:Estimate,Std.Error,p value ..)
Reg<-lapply( data[660:675], function(x) summary(lm(data$fs_deviation_score ~ x)))
我搜索一个函数来保存输出(Coefficients:Estimate,Std.Error,p value ..)
由于
答案 0 :(得分:1)
示例:
m <- lm (as.integer (Species), iris);
save (m, "iris_lm.RData");
现在进入新会议。
load ("iris_lm.RData");
summary (m);
names (m);
您可以使用save
功能保存整个对象,稍后阅读并使用它。请注意,这是存储任何R对象的一般方法。
能够存储模型m
摘要的组件的组件。您可以执行以下操作,例如存储残差。
write.csv (m$residuals, "residuals.csv");
要访问摘要的每个组件,请执行names(m)
,以便了解help (summary.lm)
答案 1 :(得分:1)
如果您的Reg对象由:
生成Reg<-lapply( data[660:675], function(x) summary(lm(data$fs_deviation_score ~ x)))
然后,您需要做的就是从每个摘要对象中提取系数矩阵:
CoefMats <- lapply( Reg, coef)
摘要对象实际上是命名列表(如lm和glm对象)。 ?summary.lm
将显示特定的帮助页面,Value
小节将为您提供所有名称。还应审核See Also
链接。
如果你想要r.squared值,你可以使用它:
Rsqds <- lapply(Reg, "[[", "r.squared")