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

求ANOVA两两比较中每组对比的效应量R实现代码

获取ANOVA两两比较的效应量(Cohen's d/偏η²)的R代码

1. 计算Cohen's d(直接用emmeans工具)

emmeans包自带的eff_size()函数可以针对两两对比结果计算Cohen's d,基于模型的残差标准差计算合并标准差:

# 先生成两两对比结果(保留你的adjust=NULL设置)
two.way.contrast <- pairs(emmeans(two.way.esm, ~ emotionF*typeF), adjust = NULL)

# 计算Cohen's d并输出90%置信区间
contrast_effsize <- eff_size(two.way.contrast, sigma = sigma(two.way.esm), edf = df.residual(two.way.esm))
summary(contrast_effsize, level = 0.90)

2. 计算偏η²(partial eta squared)

偏η²可以通过两两对比的t值和模型残差自由度推导,公式为 η²p = t² / (t² + 残差自由度),代码实现如下:

# 提取对比结果的详细统计量
contrast_stats <- summary(two.way.contrast, level = 0.90)
# 获取模型的残差自由度
df_resid <- df.residual(two.way.esm)

# 计算偏η²并添加到结果表中
contrast_stats$partial_eta_sq <- (contrast_stats$t.ratio^2) / (contrast_stats$t.ratio^2 + df_resid)

# 查看包含偏η²的完整结果
print(contrast_stats)

注意事项

  • 如果你的模型是混合效应模型(如lmer拟合的),需要用lmerTest包获取准确的残差自由度,替换df.residual(two.way.esm)为anova(two.way.esm)$DenDF
  • Cohen's d的计算默认使用合并标准差,若需要其他标准化方式,可在eff_size()中指定method参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:43:08