如何使用 lme4 模型的 emmeans 比较正交对比?

How can I compare orthogonal contrasts using emmeans for lme4 model?

我有一个包含多个变量的 lme4 混合模型。我对具有三组(比如 A、B、C)的模型中的一个变量的正交对比感兴趣。我想要将 A 与 B 和 C 的平均值进行比较。如何在 R 中使用 emmeans 来执行此操作?

这是我认为可行的一种方法:

mtcars$cyl <-as.factor(mtcars$cyl)

fit <- lm(mpg ~ wt + cyl, mtcars)

library(emmeans)
fit

emm_fit <- emmeans(fit, specs = "cyl")

contrast(emm_fit, list(cyl = c(1, -.5, -.5)))

这相当于 x_1 - .5x_2-.5x_3

结果如下:

contrast estimate   SE df t.ratio p.value
 cyl          5.16 1.37 28 3.781   0.0008 

这适合一个模型,使用 emmeans 来开发边缘,然后在 contrast 函数中我们查看 4 个气缸与 6 和 8 的平均值之间的差异。有关更多详细信息,请参阅 https://cran.r-project.org/web/packages/emmeans/vignettes/comparisons.html#contrasts