【问题标题】:How can I save my multiple lm summary output to a data frame or csv?如何将我的多个 lm 摘要输出保存到数据框或 csv?
【发布时间】:2017-05-26 05:01:03
【问题描述】:

我正在尝试将lm 的摘要输出保存到数据框、“csv”或“txt”文件中。我想做的是使用具有不同因变量但自变量相同的lm(最终是glm)。

这是我使用lapply 进行模型拟合的代码:

varlist <- names(NDVI)[2:244]

models <- lapply(varlist, function(x) {
lm(substitute(i ~ efectohuracan, list(i = as.name(x))), data = NDVI)})

如果我把它保存为

write.csv(models,"models.csv")

我收到此错误

Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = 
stringsAsFactors) : cannot coerce class ""lm"" to a data.frame

我是 R 的新手。我编写的代码要感谢在这个社区中也发布了他们的问题的人,所以也许有更好的方法来解决这个问题。

提前谢谢你

【问题讨论】:

  • 如果你想存储整个 lm 对象,你可以很容易地使用 save(.... .Rdata) 来处理它

标签: r dataframe regression lm mlm


【解决方案1】:

抱歉,我一开始就错误地将其关闭为骗子。感谢我的朋友重新打开它。


对于"mlm" 模型类,这是非常有效的。

首先,您需要Fitting a linear model with multiple LHS

然后让 fit 成为您的拟合模型对象("mlm""lm" 类),通过以下方式提取其系数

beta <- coef(summary(fit))

这是一个系数表列表。

然后,我们把它折叠成一个数据框:

tab <- do.call(rbind.data.frame, beta)

现在您只需像往常一样将此数据框写入“csv”文件即可。

作为快速测试,您可以使用链接线程中提供的玩具数据集。

【讨论】:

    猜你喜欢
    • 2019-08-23
    • 2015-08-02
    • 1970-01-01
    • 2021-11-09
    • 2021-05-16
    • 1970-01-01
    • 2020-06-15
    • 2020-11-18
    • 2020-03-29
    相关资源
    最近更新 更多