如何对 r 中的 lmList 对象执行 Breusch 异教徒测试?

How to perform Breusch pagan-test for lmList object in r?

我正在使用 lme4 packade 中的 lmList 对一个数据框进行多重回归。 在每个回归中,我想做一个异方差检验。 尝试过 Breusch pagan-test 但没有成功。这是示例数据:

library(lme4)
set.seed(123)
dat <- data.frame(group=c(rep("a",10), rep("b",10), 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”-package)是:

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

同时,要解决这个问题,请在

中使用 (3)