如果我把这个问题放在错误的地方,请原谅我。我已经用 R 中的 lme4 包和 lmerTest 包构建了一个 lmer 模型,但我正在努力获得主效应的正确 F 值,因为我的一个自变量具有三个级别。我的模型如下:
mod <- lmer(post.diff ~ pre.diff + group.contrast * (courseBvsA.contrast + courseCvsA.contrast) + (1|bib), data = dat, REML = FALSE)
使用 anova(mod) 给我以下估计:
anova(mod)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
pre.diff 9.6384 9.6384 1 130.660 109.3453 < 0.00000000000000022 ***
group.contrast 0.0726 0.0726 1 42.358 0.8232 0.36937
courseBvsA.contrast 0.3133 0.3133 1 108.699 3.5543 0.06206 .
courseCvsA.contrast 2.7047 2.7047 1 146.558 30.6839 0.0000001369 ***
group.contrast:courseBvsA.contrast 0.0148 0.0148 1 101.982 0.1680 0.68271
group.contrast:courseCvsA.contrast 0.0135 0.0135 1 100.812 0.1527 0.69682
当然,我可以通过将误差平方和除以适当的自由度来手动计算 F 值。但是在 R 中有没有捷径可以做到这一点?使用 base::lm() 我可以重新拟合不包括感兴趣的自变量的模型,并将其与包含该自变量的完整模型进行比较。为此,我可以使用 anova(full_model, main_effect_model)。但是,这似乎不适用于混合效果模型。我得到:
Models:
mod_maineff_course: post.diff ~ pre.diff + group.contrast + group.contrast:courseBvsA.contrast +
mod_maineff_course: group.contrast:courseCvsA.contrast + (1 | bib) + (1 | school)
mod: post.diff ~ pre.diff + group.contrast * (courseBvsA.contrast +
mod: courseCvsA.contrast) + (1 | bib) + (1 | school)
npar AIC BIC logLik deviance Chisq Df Pr(>Chisq)
mod_maineff_course 8 219.95 244.24 -101.974 203.95
mod 10 197.42 227.79 -88.711 177.42 26.524 2 0.000001739 ***
有没有办法来解决这个问题?