interactmeta implements contribution-adjusted meta-analysis (CAMS) for treatment effect modification from modifier-level aggregate data (Panaro, Röver & Friede 2025): Consistent Bayesian meta-analysis on subgroup specific effects and interactions.
cams() fits contribution-adjusted meta-analysis (CAMS) from modifier-level aggregate data. interactions(), modifiers(), and combined() report the main estimands; forestplot() and plot() and tidy() visualize and export a fitted model.
| Start here | More |
|---|---|
vignette("cams") — Getting started (estimands, assumptions, Bayesian & REML on steroids) |
vignette("export-and-qc") — tables & sensitivity QC; vignette("worked-examples") — age, edss, and other datasets |
Installation
# install.packages("remotes")
remotes::install_github("rvpanaro/interactmeta")Documentation: https://rvpanaro.github.io/interactmeta/
CAMS supports Bayesian (default) and frequentist inference (method = "REML"). See the getting-started vignette for the full workflow.
Example
library(interactmeta)
st <- steroids[steroids$n > 0, ]
es <- escalc(
measure = "OR",
ai = treat.events,
bi = treat.total - treat.events,
ci = cont.events,
di = cont.total - cont.events,
data = st
)
both <- c("CAPE COVID", "COVID STEROID", "REMAP-CAP", "Steroids-SARI")
fit <- cams(es[es$study %in% both, ], reference = "NIV", method = "REML")
interactions(fit, exponentiate = TRUE)
modifiers(fit, exponentiate = TRUE)
forestplot(fit, exponentiate = TRUE)