Skip to contents

interactmeta 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

  1. ifrac() (optional before fit) builds trial information fractions \(\pi_j=\sigma_{Bj}^{-2}/(\sigma_{Aj}^{-2}+\sigma_{Bj}^{-2})\); cams() computes them from vi by default.

  2. 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}\).

  3. Fit a random-effects meta-analysis of \(g_j\) and a random-effects meta-regression of \(m_j\) on \(\pi_j\).

  4. interactions(), modifiers(), and combined() summarize \(\gamma\) and effects at the reporting information fraction.

  5. plot() and forestplot() visualize effects across \(\pi\) and by trial (see vignette("cams") and vignette("worked-examples")).

Documentation

Getting started

vignette("cams") — estimands, assumptions, Bayesian and REML on the IV/NIV steroids example.

Export and QC

vignette("export-and-qc") — tidy() exports and DA/AD/SWADA/CAMS sensitivity tables.

Other datasets

vignette("worked-examples") — brief forests for age, 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:

Other contributors:

  • Christian Röver (ORCID) [thesis advisor]

  • Tim Friede (ORCID) [thesis advisor]