保存线性回归输出r

时间:2016-04-20 16:56:11

标签: r

我想进行线性回归,其中我的因变量是数据$ 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 ..)

由于

2 个答案:

答案 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")