Meta-regression bubble plot

Bubble plot, meta-regression scatter plot

MA
NMA
Study effects against a continuous moderator, with bubbles sized by precision and a fitted meta-regression line.
MANMAEstablished

Meta-regression bubble plot example

Random-effects meta-regression of the BCG log risk ratio on absolute latitude. Bubble area is proportional to weight; dashed lines are the 95% confidence band and dotted lines the 95% prediction band; numbered points lie outside the prediction band. Data: metadat::dat.bcg.
Family
Effect display
Purpose
Show how study effects relate to a study-level covariate and how much heterogeneity it explains.
Inputs
Study estimates, variances, and a moderator; a fitted meta-regression model.
Software
R metafor::regplot(), orchaRd::bubble_plot(); Stata estat bubbleplot

What it shows

The bubble plot is the graphical form of meta-regression. Each study is a bubble at its moderator value and its effect estimate, sized by the weight it receives. The fitted meta-regression line, with confidence and prediction bands, shows the estimated relationship between the moderator and the effect. It is the main exploratory tool for heterogeneity and a natural precursor to asking whether population adjustment is needed.

How to read it

  • Horizontal axis: the study-level moderator.
  • Vertical axis: the effect estimate (log scale for ratios).
  • Bubble area: weight in the meta-regression, usually inverse of \(v_i + \hat\tau^2\).
  • Solid line: fitted relationship; dashed: 95% confidence band; dotted: 95% prediction band.
  • Reference line: no effect.

Interpretation

The risk ratio falls with distance from the equator: the log risk ratio decreases by 0.029 per degree (95% CI −0.043 to −0.015), so every 10 degrees multiplies the risk ratio by about 0.75. Latitude accounts for about 76% of the between-study variance (\(\tau^2\) drops from 0.31 to 0.08), though residual heterogeneity remains.

Pitfalls

  • Associations across studies are observational and prone to ecological bias. A relation between a study’s mean age and its effect is not evidence that the effect varies with age within patients.
  • Meta-regression needs enough studies (a rough rule is ten per covariate) and enough spread in the moderator.
  • Extrapolating the line beyond the observed range of the moderator is unsupported.
  • Testing many moderators produces false positives; pre-specify them.

Code

library(metafor)

data(dat.bcg, package = "metadat")
dat <- escalc(measure = "RR", ai = tpos, bi = tneg, ci = cpos, di = cneg,
              data = dat.bcg)

# Random-effects meta-regression on absolute latitude of the trial site
fit <- rma(yi, vi, mods = ~ ablat, data = dat, method = "REML")

regplot(
  fit,
  mod = "ablat",
  xlab = "Absolute latitude (degrees)",
  ylab = "Risk ratio (log scale)",
  transf = exp, refline = 1,
  bg = "#9fb3c8", col = "#1d4e89",
  shade = "#e8eef6", lcol = "#1d4e89", lwd = 2,
  pi = TRUE, legend = TRUE, label = "piout", labsize = 0.7
)
meta esize tpos tneg cpos cneg, esize(lnrratio) random(reml)
meta regress ablat
estat bubbleplot

References

  • Thompson SG, Higgins JPT. How should meta-regression analyses be undertaken and interpreted? Stat Med. 2002;21:1559-1573. doi:10.1002/sim.1187
  • Colditz GA, Brewer TF, Berkey CS, et al. Efficacy of BCG vaccine in the prevention of tuberculosis: meta-analysis of the published literature. JAMA. 1994;271:698-702. doi:10.1001/jama.1994.03510330076038
  • Viechtbauer W. Conducting meta-analyses in R with the metafor package. J Stat Softw. 2010;36(3):1-48. doi:10.18637/jss.v036.i03