r - 获取 "mlm"返回的 `lm()`对象的残差标准错误

标签 r regression linear-regression lm mlm

我用过 lm()拟合多个回归模型,用于 R 中的多个(~100 万)响应变量。例如。

allModels <- lm(t(responseVariablesMatrix ~ modelMatrix)

这将返回一个“mlm”类的对象,它就像一个包含所有模型的巨大对象。我想获得每个模型的残差平方和,我可以使用:
summaries <- summary(allModels)
rss1s <- sapply(summaries, function(a) return(a$sigma))

我的问题是我认为“摘要”函数也计算了一大堆其他东西,因此速度很慢。我想知道是否有更快的方法来提取模型的残差平方和?

谢谢!

最佳答案

lm 的输出中有一个分量残差对象,因此您可以通过 sum(output$residuals^2) 获得残差平方和.

编辑:您实际上是从摘要中取出 sigma,即sqrt(sum(output$residuals^2)/output$df.residuals)
对于所有型号使用
sapply(allModels, function(a) sqrt(sum(a$residuals^2)/a$df.residuals)))

关于r - 获取 "mlm"返回的 `lm()`对象的残差标准错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15254543/

相关文章:

python - 获取形状未对齐错误 sklearn 。

r - 为什么 coord_equal 不能正常工作?

r - 如何在函数中使用 Dplyr::Rename_At 和 "Starts_with"

python - 用于将二维坐标映射到值的机器学习算法

arrays - 将平面拟合到二维数组

machine-learning - 将规则绘制为 R 中 Cubist 包的树

python - python 线性回归 - 梯度下降误差

r - 如何编辑所有列名以替换 R 中的某个字符?

r - 创建 data.frame 时添加到列名称中的 X 和点

R 中稳健回归的回归表