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

如何在R中基于Cohen’s d计算Hedges' g及其方差与标准误

在R中从Cohen’s d计算Hedges' g及其方差、标准误

以下是针对两组样本量均为25、Cohen’s d=0.58的情况,计算Hedges' g、其方差和标准误的R代码与解释:

步骤1:定义参数

先设定样本量、Cohen’s d值及自由度:

n1 <- 25  # 组1样本量
n2 <- 25  # 组2样本量
d <- 0.58 # 报道的Cohen’s d值
df <- n1 + n2 - 2 # 自由度

步骤2:计算Hedges' g

Hedges' g是Cohen’s d的无偏修正版本,通过乘以校正因子J得到。J可通过gamma函数精确计算,大样本下也可用近似公式(结果几乎一致):

# 精确计算校正因子J
J <- gamma(df/2) / (sqrt(df/2) * gamma((df-1)/2))

# 计算Hedges' g
g <- d * J

步骤3:计算Hedges' g的方差

Hedges' g的方差可通过近似公式直接计算,或基于Cohen’s d的方差转换(两种方法结果一致):

# 方法1:直接计算g的方差
var_g <- (n1 + n2)/(n1*n2) + g^2/(2*(n1 + n2))

# 方法2:基于d的方差转换(验证用)
var_d <- (n1 + n2)/(n1*n2) + d^2/(2*(n1 + n2))
var_g_alt <- J^2 * var_d

步骤4:计算Hedges' g的标准误

标准误为方差的平方根:

se_g <- sqrt(var_g)

输出结果

运行以下代码查看最终结果:

cat("(a) Hedges' g数值:", round(g, 4), "\n")
cat("(b) Hedges' g的方差:", round(var_g, 4), "\n")
cat("(c) Hedges' g的标准误:", round(se_g, 4), "\n")

结果说明

针对本例参数,运行后会得到:

  • (a) Hedges' g ≈ 0.5673
  • (b) Hedges' g的方差 ≈ 0.0835
  • (c) Hedges' g的标准误 ≈ 0.2889

内容的提问来源于stack exchange,提问作者always.learning

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 23:05:57