NMA interval plot

Interval plot of all pairwise comparisons

NMA
Every pairwise network estimate with its confidence and prediction interval on one axis.
NMAEstablished

NMA interval plot example

All 45 pairwise random-effects estimates from the diabetes network, sorted by effect. Colored points and lines are estimates and 95% confidence intervals; gray bands are 95% prediction intervals. Data: netmeta::Senn2013.
Family
Effect display
Purpose
Show the precision and heterogeneity of every comparison in the network at once.
Inputs
A fitted network meta-analysis.
Software
Stata intervalplot; R custom ggplot2 from netmeta output

What it shows

The interval plot, popularized by the Stata network graphics suite, lists all \(T(T-1)/2\) pairwise comparisons down the page and draws each network estimate with its confidence interval and, underneath, its prediction interval. Compared with a league table it trades compactness for immediate visibility of precision and of the null line.

How to read it

  • Rows: pairwise comparisons, here sorted by estimate.
  • Points and colored lines: network estimate and 95% confidence interval.
  • Gray bands: 95% prediction intervals, which add between-study heterogeneity.
  • Vertical line: no difference.

Interpretation

Ten of the 45 confidence intervals exclude zero, but only four prediction intervals do: metformin, miglitol, pioglitazone, and rosiglitazone against placebo. With \(\tau = 0.33\), most comparisons between active drugs could go either way in a new trial setting even when the average difference looks favorable.

Pitfalls

  • The number of rows grows quadratically with the number of treatments; for large networks show only comparisons of interest.
  • Prediction intervals in NMA assume a common heterogeneity variance across comparisons.
  • Sorting by effect is convenient but hides which comparisons share a treatment.

Code

library(netmeta)
library(ggplot2)

data(Senn2013)

net <- netmeta(
  TE, seTE, treat1.long, treat2.long, studlab,
  data = Senn2013, sm = "MD",
  common = FALSE, reference.group = "Placebo"
)

# Every pairwise network estimate with its 95% CI and prediction interval
trts <- net$trts
pairs <- t(combn(trts, 2))
est <- data.frame(
  t1 = pairs[, 1], t2 = pairs[, 2],
  te = net$TE.random[pairs],
  lo = net$lower.random[pairs], hi = net$upper.random[pairs],
  plo = net$lower.predict[pairs], phi = net$upper.predict[pairs]
)
est$label <- paste(est$t1, "vs", est$t2)
est$label <- factor(est$label, levels = est$label[order(est$te)])
est$sig <- ifelse(est$hi < 0 | est$lo > 0, "95% CI excludes 0", "95% CI includes 0")

ggplot(est, aes(y = label)) +
  geom_vline(xintercept = 0, colour = "#7a828c") +
  geom_linerange(aes(xmin = plo, xmax = phi), colour = "#d9d4ca", linewidth = 2.2) +
  geom_pointrange(aes(x = te, xmin = lo, xmax = hi, colour = sig),
                  size = 0.25, linewidth = 0.6) +
  scale_colour_manual(values = c("#2a7f62", "#7a828c"), name = NULL) +
  labs(x = "Mean difference in HbA1c (%)", y = NULL,
       title = "All 45 pairwise comparisons from the network",
       subtitle = "Points and lines: estimate and 95% CI; gray bands: 95% prediction interval") +
  theme(axis.text.y = element_text(size = 7.5))
network meta consistency
intervalplot, eform predictions

References

  • Chaimani A, Higgins JPT, Mavridis D, Spyridonos P, Salanti G. Graphical tools for network meta-analysis in STATA. PLoS One. 2013;8:e76654. doi:10.1371/journal.pone.0076654
  • Chaimani A, Salanti G. Visualizing assumptions and results in network meta-analysis: the network graphs package. Stata J. 2015;15:905-950. doi:10.1177/1536867X1501500402