Standardised Mean Difference: Hedges’ g
Introduction
Hedges’ g is the small-sample-corrected standardised mean difference (SMD). Cohen’s d over-estimates the population SMD in small samples; Hedges’ correction factor \(J\) de-biases it. g is the preferred SMD for meta-analysis pools.
Prerequisites
Standardised effect sizes; Cohen’s d.
Theory
\[d = \frac{\bar{X}_1 - \bar{X}_2}{s_{\text{pool}}}, \quad g = J \cdot d,\] where \(J = 1 - 3/(4 \text{df} - 1)\) is Hedges’ correction (≈1 for df > 20).
Variance: \(\text{Var}(g) = J^2 \cdot \text{Var}(d)\), where \(\text{Var}(d) = \frac{n_1 + n_2}{n_1 n_2} + \frac{d^2}{2(n_1 + n_2)}\).
Assumptions
Outcomes approximately normal within groups; equal or near-equal group variances.
R Implementation
library(metafor)
set.seed(2026)
n <- 10 # small study
x1 <- rnorm(n, mean = 1, sd = 1)
x2 <- rnorm(n, mean = 0, sd = 1)
# Compute g and its variance via metafor
es <- escalc(measure = "SMD",
m1i = mean(x1), sd1i = sd(x1), n1i = n,
m2i = mean(x2), sd2i = sd(x2), n2i = n)
es
# Manual computation
s_pool <- sqrt(((n - 1) * var(x1) + (n - 1) * var(x2)) / (2 * n - 2))
d <- (mean(x1) - mean(x2)) / s_pool
J <- 1 - 3 / (4 * (2 * n - 2) - 1)
c(d = d, g = d * J)Output & Results
Hedges’ g and its variance from escalc; g is slightly smaller than d due to the small-sample correction.
Interpretation
“Hedges’ g was 0.92 (95 % CI 0.01-1.83), corresponding to a large effect per Cohen benchmarks; in small studies like this one, Hedges’ correction reduced the SMD from 1.04 to 0.92.”
Practical Tips
- Always use Hedges’ g rather than Cohen’s d for meta-analysis when any included study is small (\(n < 20\)).
metafor::escalc(measure = "SMD")computes g and variance in one call.- For unequal variances, use
measure = "SMDH"(Hedges’ g using the pooled SD based on separate SDs). - Report the 95 % CI; g on its own does not convey precision.
- For pre-post or within-subject designs, use the SMCR / SMCC variants that account for pairing.