在R 中计算估计边际均值的Cohen's d值

编程语言 2026-07-12

我正在按照主管的要求对一个由他人完成的R 脚本进行数据分析。该脚本使用MICE创建一个插补数据集,然后在两个条件(1 & 2)之间计算一个包含基线和四个时间点(3个月、6个月、9个月、12个月)的线性混合模型(LMM)。我有插补模型和emm的代码。我尝试为EMM计算Cohen's d,但它给出所有比较的估计值。我需要基线和两个条件之间四个时间点的效应量(Cohen's d)。是否有代码可以将Cohen's d纳入emmeans的汇总中?

Imputed model

model <- with(imputedDataset,
            lmer(DV ~ TimePoint + Condition + var1 + var2 + var3 + var4 + var5 + var6 + var7 + var8 + var9 + TimePoint*Condition + (1 | RCT_id)))
summary(pool(model), conf.int = TRUE, conf.level = 0.95)

Estimated marginal means

emm <- emmeans(model,  ~ TimePoint*Condition, level = 0.95)

Effect size

effect_sizes <- eff_size(emm, sigma = sigma(res), edf = df.residual(res))

summary(effect_sizes)

Is there anything I should be doing differently to obtain just the effect size for the emm of the different timepoint*condition?

解决方案

我不太确定你想要的到底是什么,但我认为这能让你更接近目标:

emm <- emmeans(model,  ~ TimePoint|Condition)
eff_size(emm, sigma = sigma(res), edf = df.residual(res), method = "trt.vs.ctrl1")

第一条语句将 Condition 设为一个“by”变量,即将每个条件视为一个独立组。有关 emmeans() 的帮助。

第二条指定对每个处理与第一者之间的对比。method 的默认值在所有成对比较中为 "pairwise"。有关 contrast() 的帮助,以及 trt.vs.ctrl1.emmc 的帮助,其中也包含内置对比方法的全部文档。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章