The RoBMA R package fits a comprehensive collection of
Bayesian meta-analytic models (Bartoš & Maier, 2020). It provides
single-model fits, meta-regression, location-scale models, multilevel
and multivariate models, fully Bayesian model-averaged ensembles, and
built-in publication-bias adjustment using selection models, PET-PEESE,
and Robust Bayesian Meta-Analysis (RoBMA). Posterior sampling is
performed by JAGS through a custom C++ module that implements the
weighted distributions used in selection models. Prior handling,
plotting, and Bayesian diagnostics are delegated to the companion
BayesTools package.
This introduction maps the package at a high level and points to the more detailed vignettes that follow.
The RoBMA R package requires JAGS 4.x (4.3.1 or newer;
JAGS 5 is not supported) (Plummer, 2003). Install JAGS from https://mcmc-jags.sourceforge.io/ before installing the
R package.
install.packages("RoBMA")Note on backwards compatibility. The 4.0 release is
not backwards compatible with earlier versions of the package. The
Manuscript Companions section accompanies the methodological
papers in which the RoBMA R package was originally
developed and illustrated; the vignettes there have been updated to the
4.0 version of the package, and the numerical results differ from the
published values because the underlying algorithms have changed. To
reproduce the published analyses exactly, install RoBMA
version 3.6.1 together with BayesTools version 0.2.23:
remotes::install_version("BayesTools", version = "0.2.23")
remotes::install_version("RoBMA", version = "3.6.1")The package exposes a small set of high-level fitting functions.
| Function | What it fits |
|---|---|
brma(),
brma.norm(),
brma.mv() |
Bayesian random-effects meta-analysis |
brma.glmm() |
Bayesian GLMM meta-analysis (binomial / log OR or Poisson / log IRR) |
bselmodel(),
bselmodel.mv() |
Bayesian weight-function selection model |
bPET(),
bPEESE(),
bPET.mv(),
bPEESE.mv() |
Bayesian PET / PEESE publication-bias adjustment |
BMA(),
BMA.norm(),
BMA.mv() |
Bayesian model-averaging across presence / absence of effect and heterogeneity (no bias adjustment) |
BMA.glmm() |
Bayesian model-averaging for GLMM meta-analysis |
RoBMA(),
RoBMA.mv() |
Robust Bayesian model-averaging including publication-bias models |
brma() and RoBMA() are the main workhorses.
brma() fits a single model in the same spirit as
metafor::rma(); RoBMA() averages across an
ensemble that includes publication-bias adjustment. BMA()
is RoBMA() without the bias-adjustment models. The
.mv variants extend these models to multivariate and
multilevel data with a known sampling covariance matrix (V)
and random-effect formulas (random, e.g.,
~ 1 | study / esid), in the same spirit as
metafor::rma.mv().
All fitting functions
yi, sei /
vi, measure arguments; the .mv
variants also accept V, and the .glmm variants
take outcome counts),mods
argument),scale
argument),cluster
argument; random in the .mv variants),summary(), plot(), predict(),
loo(), funnel(), regplot(),
residuals and influence diagnostics, …); see Feature
Coverage for the exceptions.The vignettes are organized into four sections.
| Vignette | Topic |
|---|---|
| Introduction to RoBMA | Package overview, fitting functions, and vignette map |
| Prior Distributions | Default, informed, and custom prior distributions; rescaling guidance |
| Bayesian Meta-Analysis | Random-effects meta-analysis with
brma(), compared with metafor::rma() |
| Feature Coverage | Overview of available functionality across model families |
The foundations section gives the package overview, prior
specification, a baseline brma() workflow, and current
feature coverage. The Bayesian
Meta-Analysis vignette walks through the BCG-vaccine example
from the metafor package in brma(), covering
summaries, meta-regression, marginal means, residuals, influence, LOO,
and the standard meta-analytic plots.
metafor| Vignette | Topic |
|---|---|
| Multilevel Meta-Analysis | brma() with
cluster and metafor::rma.mv() for 3-level
data |
| Publication-Bias Adjustment | bselmodel() /
bPET() / bPEESE() and
metafor::selmodel() |
| Location-Scale Models | brma() with
scale and metafor::rma.ls() |
| Generalized Linear Mixed-Effects Meta-Analysis | brma.glmm() and
metafor::rma.glmm() for binomial and Poisson outcomes |
| Multivariate and Multilevel Meta-Analysis | brma.mv() with known sampling
covariance matrices and structured random effects |
Each vignette starts from a metafor package analysis and
shows the matching RoBMA R package syntax, output, and
diagnostics.
| Vignette | Topic |
|---|---|
| Bayesian Model Averaging | Accounting for model uncertainty across presence and absence of effect and heterogeneity, with posterior model probabilities and inclusion Bayes factors |
| Robust Bayesian Meta-Analysis | Extending the ensemble to publication-bias
models used in RoBMA(), with PSMA,
PP, and bespoke ensemble specifications |
| Posterior Densities and Parameter Tests | Likelihood-aware posterior densities and hypothesis tests with qCMDE and IWMDE |
The first vignette introduces model averaging on an ensemble of
models with and without effect and heterogeneity. The second extends the
ensemble to publication-bias models used in RoBMA().
| Vignette | Companion paper / dataset |
|---|---|
| Adjusting for Publication Bias Tutorial | Bartoš et al. (2022), JASP / R tutorial on
Lui2015 |
| Robust Bayesian Meta-Regression | Bartoš et al. (2025), RoBMA-reg on
Andrews2021 |
| Multilevel Robust Bayesian Meta-Analysis | Bartoš et al. (2026), Multilevel RoBMA on
Johnides2025 |
| Multilevel Robust Bayesian Meta-Regression | Multilevel RoBMA-reg on
Kroupova2021 |
| Informed Bayesian Meta-Analysis in Medicine | Bartoš et al. (2021), informed prior distributions for medical meta-analysis (continuous outcomes) |
| Informed Bayesian Meta-Analysis with Binary Outcomes | Bartoš et al. (2023), informed prior distributions for medical meta-analysis (binary and time-to-event outcomes) |
| Zplot Publication-Bias Diagnostics | Bartoš & Schimmack (2025), zplot
diagnostics on Hoppen2025 |
These vignettes reproduce or update analyses from published papers and serve as references when citing the corresponding methodological work.
metafor package: read Bayesian
Meta-Analysis, then the Correspondence with
metafor vignettes for the model family they use
most.