【问题标题】:Simple Regression by groups and displaying output按组进行简单回归并显示输出
【发布时间】:2017-12-03 13:09:46
【问题描述】:

我想问一些关于 R 中回归可能性的一般性问题。

例如,我有 58 个区域的两个变量之间的数据。我想对每个区域进行包括假设检查、模型拟合和诊断在内的整个回归过程,但是通过一个命令获得整体结果,这意味着没有循环。

我已经知道我可以使用 lmList 函数一次进行模型拟合。但是,我不知道是否有可能一次性获得所有 58 个回归的 Q-Q 正态残差图。

有人知道这是否可行吗?如果是这样,我可能需要什么样的功能?

【问题讨论】:

标签: r regression


【解决方案1】:

取决于您所说的“一个命令”是什么意思,以及为什么要避免循环。怎么样:

library(nlme)
L <- lmList(y~x|region,data=yourData)
lapply(L,plot,which=2)

应该有效;但是,它会依次吐出 58 个图。如果您尝试将它们全部捕获在一个页面上,您可能会收到关于页边距太小的错误。

根据lmList 返回的回归列表,您还有很多其他选择。例如,

library(plyr)
qqDat <- ldply(L,function(x) as.data.frame(qqnorm(residuals(x))))

将为您提供一个数据框,其中包含数据中每个组的 QQ 图信息(预期值和观察值)。

【讨论】:

  • 谢谢,我已经用lapply函数依次吐出QQ图了……
  • 如果这不是您想要做的,那么您需要更具体一点,即“一次性”的意思。你想要一个带有 58 组残差的图吗?还是什么?
猜你喜欢
  • 2019-10-31
  • 1970-01-01
  • 2015-02-10
  • 2017-10-20
  • 2019-12-23
  • 2015-06-30
  • 1970-01-01
  • 2019-06-17
  • 2021-07-01
相关资源
最近更新 更多