0

如果我把这个问题放在错误的地方,请原谅我。我已经用 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 ***


有没有办法来解决这个问题?

4

0 回答 0