You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在emmeans中获取对比的两两对比(R语言实例)

解决emmeans交互项两两对比缺失的问题

要获取三个group间,noAnxiety与anxiety事件发生率变化量的完整两两对比,你可以通过以下两种方法实现:

方法一:分步计算差值再做对比

先提取每个group内anxiety两水平的边际均值差,再对这些差值进行全量两两对比:

# 生成各group下anxiety的边际均值(假设model是你的glm模型)
emAnx <- emmeans(model, ~ anxiety | group)

# 计算每个group内noAnxiety - anxiety的差值(reverse=TRUE调整差值方向)
group_anx_diff <- pairs(emAnx, reverse = TRUE)

# 对三个组的差值做完整两两对比
full_pairwise <- pairs(group_anx_diff)
print(full_pairwise)

方法二:直接指定对比类型一步实现

在contrast()函数中,将group的对比类型从"consec"(连续相邻对比)改为"pairwise"(全量两两对比),anxiety因是两水平,用"consec"或"pairwise"效果一致:

# 生成group*anxiety的交叉边际均值
emAnx <- emmeans(model, ~ group * anxiety)

# 指定group用pairwise对比,anxiety用连续/两两对比,得到完整交互项对比
full_contrast <- contrast(emAnx, interaction = c("pairwise", "consec"), by = NULL)
print(full_contrast)

原代码问题说明

你之前用interaction = c("consec", "consec")时,group维度的"consec"只会生成相邻组的差异(g2-g1、g3-g2),而"pairwise"会生成所有两两组合(g2-g1、g3-g1、g3-g2),正好覆盖你需要的所有对比场景。

内容的提问来源于stack exchange,提问作者llewmills

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 00:14:53