Lucas Monteiro DelgadoMD candidate · UFMG, Brazil
Toolkit · 02 of 13

Pairwise: continuous outcomes

Mean and standardized mean differences for stay, operative time or pain.

1

What it is

Here every patient contributes a measurement rather than a yes or no: minutes in the operating room, days in hospital, a pain score. Each trial is summarized by the mean, the standard deviation (SD) and the number of patients in each arm.

The simplest comparison is the mean difference: the mean with the intervention minus the mean with the control, in the original unit. When trials measure the same thing with different instruments, such as two different pain scales, the difference is divided by the SD to give a standardized mean difference, expressed in SD units.

As with binary outcomes, the trial-level differences are then pooled, with more weight for larger and more precise trials, into one estimate with its 95% confidence interval and a measure of heterogeneity.

Worked exampleOne trial, step by step
MeanSDPatients
Intervention5.2 days2.160
Control6.4 days2.558
MD = 5.2 − 6.4 = −1.2 daysa shorter stay, in the original unitSMD ≈ −1.2 ÷ 2.3 = −0.52in SD units: about 0.2 is small, 0.5 moderate, 0.8 large

Repeat for every trial, then pool: that is the meta-analysis.

2

When to use it

Use it when

  • The outcome is measured on a scale: operative time, length of stay, blood loss, pain or quality-of-life scores.
  • You are comparing two groups.
  • Each study reports mean and SD per group, or median with interquartile range or range, which can be converted.

Choose another tool when

  • The outcome is an event (yes or no): use binary outcomes.
  • The data are very skewed and only medians are available in most studies: conversion becomes unreliable, so pool with caution and test the result without the converted studies.
  • Some trials report change from baseline and others final values: do not mix them in a standardized mean difference.
  • There is no comparison group, only case series: use single-arm continuous outcomes.
3

Preparing the data: mean and SD

metacont() needs the mean, the standard deviation (SD) and the number of patients in each arm. Many studies report something else; convert it before the analysis, in the extraction sheet, so every number can be traced back.

Mark every converted value in a separate column. Medians are a sign of skewed data, so the result should be checked in a sensitivity analysis without the converted studies.

The study reportsWhat to doMethod
Mean and SDUse directly.-
Mean and standard error (SE)SD = SE × √nCochrane Handbook 6.5.2.2
Mean and 95% confidence intervalSD = √n × (upper − lower) ÷ 3.92; with fewer than about 60 patients per arm, replace 3.92 by 2 × the t value for n − 1 degrees of freedomCochrane Handbook 6.5.2.2
Only a P value or t statisticRecover the SE of the difference from the t value, then the SDCochrane Handbook 6.5.2.3
Only the mean (no SD, SE or CI)Impute the SD from the other studies of the meta-analysis (for example, the mean or the largest SD of similar studies) and check the result without the imputed studiesCochrane Handbook 6.5.2.7; Furukawa
Median and interquartile range (IQR)Estimate the mean and the SDMean: Wan or Luo. SD: Wan or Shi
Median and range (minimum-maximum)Estimate the mean and the SDMean: Hozo (older), Wan or Luo. SD: Wan or Shi
Median, IQR and rangeUse all five numbers togetherMean: Luo. SD: Shi
Medians from clearly skewed dataMethods that do not assume a normal distributionMcGrath (quantile estimation, Box-Cox)
Change from baseline without its SDImpute the SD from the baseline and final SDs and a correlation coefficient taken from similar studiesCochrane Handbook 6.5.2.8
Several groups that form one arm (e.g., two doses)Combine their means and SDs into one groupCochrane Handbook 6.5.2.10, Table 6.5.a

In R, the estmeansd package and the median, quartile and range arguments of metacont() apply these estimators; online calculators based on the same papers give identical results.

4

The template, parameter by parameter

Click a highlighted argument to see what it does and which values to use. Picking a value updates the code.

m <- metacont(n.e = n_int, mean.e = mean_int, sd.e = sd_int,
              n.c = n_ctl, mean.c = mean_ctl, sd.c = sd_ctl,
              studlab = study, data = dat,
               = "MD",
               = "Hedges",
               = "REML",
               = FALSE,  = TRUE,  = FALSE,
              label.e = "Intervention", label.c = "Control")

m <- update(m,
             = if (m$tau2 > 0) "HK" else "classic")

# forest plot: see section 5
5

The forest plot, parameter by parameter

These arguments change only how the result is shown, not the result itself. Click one to see the options.

("forest.png", width = 5500, height = 1100 + 170 * m$k,  = 500)
forest(m,
        = "RevMan5",
        = studlab,
        = "s",
        = "navyblue",
        = "black",
        = 2,
        = 2,
       label.left = "Favors intervention",
       label.right = "Favors control",
       colgap.forest.left = "7mm")
()
6

In my work

Figures from my published reviews, next to the metacont() call behind them. These analyses used the Wald confidence interval: when they were done, Cochrane had not yet recommended switching to Hartung-Knapp when tau² > 0. Click a figure to enlarge it.

ICU length of stayMean difference in days, 3 studies; analysed before REML was recommended for fewer than 10 studies. From JHLT Open, 2026 ↗
m <- metacont(
  n.e, mean.e, sd.e,            # intervention arm
  n.c, mean.c, sd.c,            # control arm
  data = dat,                   # one row per study
  studlab = Study,              # study names
  sm = "MD",                    # mean difference
  method.tau = "DL",            # DerSimonian-Laird tau²
  method.random.ci = "classic"  # Wald CI
)
Pain on day 3 (VAS)Mean difference in VAS points, 3 trials; analysed before REML was recommended for fewer than 10 studies. From Colorectal Dis, 2025 ↗
m <- metacont(
  n.e, mean.e, sd.e,            # intervention arm
  n.c, mean.c, sd.c,            # control arm
  data = dat,                   # one row per study
  studlab = Study,              # study names
  sm = "MD",                    # mean difference
  method.tau = "DL",            # DerSimonian-Laird tau²
  method.random.ci = "classic"  # Wald CI
)
7

References

  1. Higgins JPT, Thomas J, Chandler J, et al. Cochrane Handbook for Systematic Reviews of Interventions, version 6.5. Cochrane; 2024. Chapter 6 (effect measures) and Chapter 10 (analysing data).
  2. Hedges LV. Distribution theory for Glass's estimator of effect size and related estimators. J Educ Stat. 1981;6:107-128.
  3. Hozo SP, Djulbegovic B, Hozo I. Estimating the mean and variance from the median, range, and the size of a sample. BMC Med Res Methodol. 2005;5:13.
  4. Wan X, Wang W, Liu J, Tong T. Estimating the sample mean and standard deviation from the sample size, median, range and/or interquartile range. BMC Med Res Methodol. 2014;14:135.
  5. Luo D, Wan X, Liu J, Tong T. Optimally estimating the sample mean from the sample size, median, mid-range, and/or mid-quartile range. Stat Methods Med Res. 2018;27:1785-1805.
  6. Shi J, Luo D, Weng H, et al. Optimally estimating the sample standard deviation from the five-number summary. Res Synth Methods. 2020;11:641-654.
  7. Furukawa TA, Barbui C, Cipriani A, Brambilla P, Watanabe N. Imputing missing standard deviations in meta-analyses can provide accurate results. J Clin Epidemiol. 2006;59:7-10.
  8. McGrath S, Zhao X, Steele R, et al. Estimating the sample mean and standard deviation from commonly reported quantiles in meta-analysis. Stat Methods Med Res. 2020;29:2520-2537.
  9. Veroniki AA, Jackson D, Viechtbauer W, et al. Methods to estimate the between-study variance and its uncertainty in meta-analysis. Res Synth Methods. 2016;7:55-79.