
Meta-analysis of treatment effect modification from modifier-level aggregate data
Source:R/package.R
interactmeta-package.Rdinteractmeta implements contribution-adjusted meta-analysis (CAMS) for treatment effect modification from modifier-level aggregate data (Panaro, Röver & Friede 2025). Each trial contributes two modifier-level estimates; CAMS derives an information fraction \(\pi_j\), fits a random-effects meta-analysis of within-trial contrasts and a random-effects meta-regression of precision-weighted combined effects, then reports the interaction \(\gamma\), modifier-level means \(\mu_A(\pi)\) and \(\mu_B(\pi)\), and the combined-population mean \(M(\pi)\) at a chosen reporting fraction.
Details
Fitter: cams(). Bayesian inference (default) uses bayesmeta;
frequentist inference uses metafor (REML or ML). The statistical
model is the same; intervals are credible or confidence intervals
respectively. See vignette("cams").
da() (Difference of Averages) and ad() (Average Difference) are
different constructions (Panaro, Röver & Friede 2026), not two names
for one estimand and not alternative CAMS models. swada() applies the
Same Weighting Across Different Analyses (SWADA) principle so those
constructions share study contributions.
conventional() is a compatibility bundle of DA and AD with
analysis-specific weights. A Bayesian posterior on DA or AD does not add
information-fraction estimands.
CAMS workflow
ifrac()(optional before fit) builds trial information fractions \(\pi_j=\sigma_{Bj}^{-2}/(\sigma_{Aj}^{-2}+\sigma_{Bj}^{-2})\);cams()computes them fromviby default.Within each trial, form contrast \(g_j=y_{Bj}-y_{Aj}\) and combined coordinate \(m_j=(1-\pi_j)y_{Aj}+\pi_j y_{Bj}\).
Fit a random-effects meta-analysis of \(g_j\) and a random-effects meta-regression of \(m_j\) on \(\pi_j\).
interactions(),modifiers(), andcombined()summarize \(\gamma\) and effects at the reporting information fraction.plot()andforestplot()visualize effects across \(\pi\) and by trial (seevignette("cams")andvignette("worked-examples")).
Documentation
- Getting started
vignette("cams")— estimands, assumptions, Bayesian and REML on the IV/NIVsteroidsexample.- Export and QC
vignette("export-and-qc")—tidy()exports and DA/AD/SWADA/CAMS sensitivity tables.- Other datasets
vignette("worked-examples")— brief forests forage,edss,il6, and RESPIRE tables (including incomplete-subgroup patterns).
Inference
CAMS can be fitted using Bayesian or frequentist inference. These are
not two different scientific models. Default Bayesian fitting uses
bayesmeta (Röver 2020); pass method = "REML" (or "ML") for
metafor (Viechtbauer 2010). See vignette("cams").
Default Bayesian heterogeneity priors match bayesmeta::bayesmeta():
improper uniform on \(\tau_m\) and \(\tau_g\). Fixed effects use
independent \(\mathrm{Normal}(0,10)\) on \((\alpha,\theta)\) and on
\(\gamma\).
Empirical work indicates interaction heterogeneity is often smaller than
overall heterogeneity (Panaro, Röver & Friede, arXiv:2606.23968); vignettes
set half-normal scales from that literature explicitly. See cams().
Reporting
plot() (default contribution view) plots modifier-level and combined effects
across the information fraction. forestplot() shows observed estimates and
trial-level CAMS shrinkage (grey markers; include_shrinkage = TRUE by
default). Typography helpers
(interactmeta_theme_report(), interactmeta_palette()) are documented
on their help pages.
Reference
The package implements CAMS:
Panaro RV, Röver C, Friede T (2025). Consistent Bayesian meta-analysis on subgroup specific effects and interactions. arXiv:2512.18785. https://doi.org/10.48550/arXiv.2512.18785
Inference backends:
Viechtbauer W (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1–48. https://doi.org/10.18637/jss.v036.i03
Röver C (2020). Bayesian random-effects meta-analysis using the bayesmeta R package. Journal of Statistical Software, 93(6), 1–51. https://doi.org/10.18637/jss.v093.i06
Related methods (not the CAMS model). Difference of Averages (DA) and Average Difference (AD) are different constructions:
Panaro RV, Röver C, Friede T (2026). Subgroup comparisons within and across studies in meta-analysis. Research Synthesis Methods (in press). arXiv:2508.15531. https://doi.org/10.48550/arXiv.2508.15531
Empirical heterogeneity priors (optional; not package defaults):
Panaro RV, Röver C, Friede T (2026). Empirical prior distributions for treatment-by-subgroup interaction heterogeneity in random-effects meta-analysis. arXiv:2606.23968. https://doi.org/10.48550/arXiv.2606.23968
Fisher DJ, Carpenter JR, Morris TP, Freeman SC, Tierney JF (2017). Meta-analytical methods to identify who benefits most from treatments: daft, deluded, or deft approach? BMJ, 356, j573. https://doi.org/10.1136/bmj.j573
van Houwelingen HC, Arends LR, Stijnen T (2002). Advanced methods in meta-analysis: multivariate approach and meta-regression. Statistics in Medicine, 21(4), 589–624. https://doi.org/10.1002/sim.1040
van Houwelingen HC, Zwinderman KH, Stijnen T (1993). A bivariate approach to meta-analysis. Statistics in Medicine, 12(24), 2273–2284. https://doi.org/10.1002/sim.4780122405
Author
Maintainer: Renato Valladares Panaro rvpanaro@gmail.com (ORCID)
Authors:
Renato Valladares Panaro rvpanaro@gmail.com (ORCID)
Other contributors: