library(Matrix)
library(lme4)
data <- lme4::sleepstudy
model1 <- lm(Reaction ~ Days, data = data)
model2 <- lmer(Reaction ~ 1+Days+(1+Days|Subject), data = data)
summary(model1)
summary(model2)
anova(model1, model2)
因此我需要将 R 更新到 4.0.2,现在使用 anova
函数比较混合效应模型会返回错误。当我分配模型时,似乎出现了错误,因为在全局环境中它显示“带有空指针的对象”。该错误似乎仅在使用 lmer
时出现,而在使用 lm
时不会出现。有人能告诉我如何解决这个问题吗?我至少需要 R 版本 4.0.0(我的教授编写需要此版本的脚本)。
最佳答案
接受的解决方案(显式调用 lme4::anovaLmer()
)有效,但这里的实际问题是,如果您想运行 anova()
比较 a( n) [g]lm
模型和(n) [g]lmer
模型,您需要将 [g]lmer 模型放在列表中的第一位参数,<因为...无聊的技术细节:S3 方法调度等等等等...>。 (这应该记录在案,但我不能告诉。)对于您的示例,
anova(model2,model1)
工作正常!
“带有空指针的对象”错误是一个转移注意力的错误:无关、神秘、可能与 RStudio 相关,另请参阅 this question和 this question (都没有回答...)
关于r - lme4 包中 anova() 的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62770580/