R:post-使用估计边际均值但不假设方差相等的临时比较

R: post-hoc comparisons using estimated marginal means but not assuming equal variances

我正在尝试使用 R 来 运行 post-在混合方法 Anova 的显着交互之后进行临时比较。我想做 post-hoc 类似于 SPSS [EMMEANS=TABLES(Group*time) COMPARE(Group) ADJ(BONFERRONI)],使用估计的边际均值但不假设方差相等。

因变量 = 'depvar'。我有 3 个组('group')和 3 个时间点('timept'),它们是对受试者的重复测量('id');

aov_car(depvar ~ group*timept + Error(id/(timept)), data=myData)

如果我使用 pairwise.t.test 我可以分别比较每个时间点的组,但是 R 使用观察到的均值,我不知道如何强制使用我模型的估计边际均值:

for (itimept in unique(myData$timept)){
      idx=myData$timept==itimept
      pairwise.t.test(myData$depvar[idx],myData$group[idx],p.adj="bonferroni")
    }

如果我使用 emmeans 或 lsmeans,则 R 使用估计的边际均值,但假设方差相同(结果中的 SE 都相同)。

myfit=lme(depvar ~ group*timept, random = ~1|id/timept, data=myData)
emmeans(myfit, pairwise~group|timept, adjust="bonferroni")

我如何 运行 post 对每个时间点的组间进行临时比较,使用估计的边际均值但不假设方差相等,类似于 SPSS?

谢谢! 克里斯蒂娜

不是 emmeans 假设方差相等。这是您安装并随后交给 emmeans 进行进一步分析的 模型 。我认为使用指定不等方差的 weights 参数来拟合不同的模型。

我相信这个模型可以解决问题:

myfit = lme(depvar ~ group*timept, 
            random = ~1|id/timept, 
            weights = varFunc(~ group*timept),
            data = myData)