具有两个变量的线性混合模型的事后检验

问题描述 投票:1回答:1

我建立了一个线性混合模型并对其进行了事后测试。固定因素是阶段数(时间)和组。

statistic_of_comp <- function (x, df) {
x.full.1 <- lmer(x ~  phase_num + group + (1|mouse), data=df, REML = FALSE)
x_phase.null.1 <- lmer(x ~ group + (1|mouse), data=df, REML = FALSE)
print(anova (x.full.1, x_phase.null.1))
summary(glht(x.full.1, linfct=mcp(phase_num="Tukey")))
}

现在我的问题是,我想要使用多个固定因子进行事后测试。我找到了以下内容

linfct=mcp(phase_num="Tukey", group="Tukey)

但这并没有给出我想要的结果。目前,我得到了与Tukey(每个组与其他所有组)的组的比较以及两个阶段之间的比较。

我想要的是比较每个组的phase_numbers。例如group1 phase1-phase2 ...,group2 phase1-phase2等

r linear lme4 mixed-models posthoc
1个回答
2
投票

我相信你可以用multcomp做到这一点,但让我举例说明如何使用emmeans包。我将使用常规线性模型(因为您没有给出可重复的示例),但下面的配方应该与混合模型一样好用。

来自?emmeans的线性模型(使用内置数据集):

warp.lm <- lm(breaks ~ wool * tension, data = warpbreaks)

应用emmeans(),然后使用pairs()函数:

pairs(emmeans(warp.lm , ~tension|wool))
wool = A:
 contrast estimate   SE df t.ratio p.value
 L - M      20.556 5.16 48  3.986  0.0007 
 L - H      20.000 5.16 48  3.878  0.0009 
 M - H      -0.556 5.16 48 -0.108  0.9936 

wool = B:
 contrast estimate   SE df t.ratio p.value
 L - M      -0.556 5.16 48 -0.108  0.9936 
 L - H       9.444 5.16 48  1.831  0.1704 
 M - H      10.000 5.16 48  1.939  0.1389 

有关更多信息,请参阅?pairs.emmGridvignette("comparisons",package="emmeans")(其中明确指出这些测试确实默认使用Tukey比较)。

© www.soinside.com 2019 - 2024. All rights reserved.