如何解决如何在 r 中对 lmList 对象执行 Breusch 异教测试?
我正在使用 lme4 包中的 lmList 对一个数据框进行多重回归。 在每个回归上,我都想做一个异方差测试。 尝试了 Breusch 异教测试但没有成功。这是示例数据:
library(lme4)
set.seed(123)
dat <- data.frame(group=c(rep("a",10),rep("b",rep("c",10)),x=rnorm(30),y1=rnorm(30),y2=rnorm(30),y3=rnorm(30))
regs <- lmList(cbind(y1,y2,y3) ~ x | group,dat)
导致九次回归。 到目前为止我的尝试(使用“lmtest”包)是:
library(lmtest)
lapply(regs,bptest)
然而,这仅执行在 a、b 和 c 上划分的测试,而不是在这些中的每个 y1、y2 和 y3 上执行。所以三个测试而不是九个。还尝试在 a 组内“到达”以对该组进行三个测试:
asum <- summary(regs$a)
bptest(asum$`Response y1`)
导致错误消息“model.matrix.default(terms(formula),model.frame(formula)) 中的错误: model.matrix() 中的模型框架和公式不匹配。
关于如何使这项工作有任何想法?
解决方法
似乎 lmtest::bptest
不支持多个 LHS 公式。考虑向该包的维护者报告,maintainer("lmtest")
与此同时,要解决该问题,请在 How to make regression based on grouped rows and loop over columns?
中使用 (3)版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。