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

时间:2019-02-15 13:31:44

标签: r linear lme4 mixed-models posthoc

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

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等。

1 个答案:

答案 0 :(得分: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比较)。