边际均值估计,只控制一个IV水平的影响(emmeans,lmer)。

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

我有一个实验,有2个IV,时间(3个层次,t1,t2,t3,被试内),修正类型(3个层次,被试间)。DV=态度(连续)。完整的lmer模型是这样的。

agreement ~ correction * time + (1 + time|subject) + (1 + correction + time|item)

我如何从整体模型中得到简单的效果?

我想在时间点3比较所有三个级别的校正,但考虑到时间点1(基线测量)的个体参与者的分数。这有点像时间点3的方差分析,以时间点1的基线分数作为连续测量。

我可以这样做。

library(lsmeans)

ref_levs <- emmeans(mod2, "correction", by = "time", at = list(time = "t3"))

pairs(ref_levs)

但我不能在t1时得到控制个体参与者分数的比较输出。

我是否被迫对数据集进行子集,以获得我所需要的东西,拟合一个像这样的模型?

agreement_t3 ~ correction + time_t1 + (1|subject) + (1 + correction|item)

或者在emmeans中有一种方法可以不用子集数据集就能得到?

r lme4 interaction contrast emmeans
1个回答
0
投票

虽然看起来你想把时间1的观察值作为一个协变量,但我还是要展示一个合理的方法,用上文中的模型来估计基线的变化。

首先,设置时间为主要因素,并获得对比,将时间2和3与时间1进行比较。

emm1 <- emmeans(mod2, ~ time | correction)
emm2 <- contrast(emm1, "trt.vs.ctrl1, name = "time.gap")

现在 time.gap 是一个新的因子,只有两个层次t2 - t1和t3 - t1。所以你现在可以比较这些变化。

pairs(emm2, by = "time.gap")

可以用更少的步骤来完成。contrast(emm1, interaction = c("trt.vs.ctrl1", "pairwise"), by = NULL)但我认为上面的步骤不那么混乱,也更容易解释。

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