0

我有一个包含 2 个 IV、时间(3 个级别,t1、t2、t3,受试者内)和校正类型(3 个级别,受试者之间)的实验。DV = 态度(连续)。完整的 lmer 模型如下所示:

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

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

我想比较时间点 3 的所有三个校正水平,但考虑到时间点 1 的个体参与者得分(基线测量)。这有点像时间点 3 上的 ANCOVA,以时间点 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 中有一种方法可以在无需对数据集进行子集化的情况下获得它?

4

1 回答 1

1

尽管您似乎希望将时间 1 的观察视为协变量,但我仍将展示一种使用 OP 中显示的模型来估计基线变化的合理方法。

首先,将时间设置为主要因素,并获得将时间 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):但我认为上述内容不那么令人困惑,更容易解释。

于 2020-06-10T16:50:08.400 回答