【问题标题】:anova() function for mixed effect models in lmer gives wrong outputlmer 中混合效应模型的 anova() 函数给出错误的输出
【发布时间】:2018-05-07 20:40:11
【问题描述】:

我正在比较两个混合效果模型。

mod_1 <- lmer(firstfix ~ ps + cd + ps:cd + (1+ cd||subj) + (1+ ps||object), data = dat2, REML = FALSE)

mod_2 <- lmer(firstfix ~ ps  + ps:cd + (1+ cd||subj) + (1+ ps||object), data = dat2, REML = FALSE)

anova(mod_1, mod_2)

但是 anova() 函数的输出是错误的。看起来像:

各个模型给出了正确的输出,所以我不确定为什么 anova() 函数很难?感谢您就可能导致此问题的原因或如何解决问题提供任何建议。

【问题讨论】:

  • 请提供a minimal reproducible example。还请将输出包含为文本,而不是图片。预期的输出是什么?
  • 您是否以某种方式覆盖了 anova 函数? (即重现尝试summary(anova(almerModel)))。重新启动 R 后错误是否仍然存在?如果显式调用方法lme4:::anova.merMod(mod_1, mod_2) 是否有效?

标签: r lme4 anova mixed-models


【解决方案1】:

您可以尝试在拟合模型时使用 * 而不是分号对交互进行编码:

lmer(firstfix ~ ps + ps*cd + (1+ cd||subj) + (1+ ps||object), data = dat2, REML = FALSE)

【讨论】:

  • 这不太可能是问题所在。 (还没有投票,因为我猜它相关的可能性很小。)
  • 我相信你是对的,这无关紧要。我能想到的另一件事是在运行之前存储 anova:> anova -> anova (...) 然后您应该更轻松地从全局环境中访问它
【解决方案2】:

强烈怀疑您输入了summary(anova(mod_1,mod_2)) 而不仅仅是anova(mod_1,mod_2)。我可以通过

得到非常相似的输出
library(lme4)
mod_1 <- lmer(Reaction~Days+(Days|Subject),sleepstudy)
mod_2 <- lmer(Reaction~1+(Days|Subject),sleepstudy)
summary(anova(mod_1,mod_2))

anova(mod_1,mod_2) 很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-15
    • 2018-09-07
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多