PublicationBiasBenchmark is an R package for
benchmarking publication bias correction methods through simulation
studies. It provides:
- Predefined data-generating mechanisms from the literature
- Functions for running meta-analytic methods on simulated data
- Pre-simulated datasets and pre-computed results for reproducible
benchmarks
- Tools for visualizing and comparing method performance
All datasets and results are hosted on OSF: https://doi.org/10.17605/OSF.IO/EXF3M
For the methodology of living synthetic benchmarks please cite:
Bartoš, F., Pawel, S., & Siepe, B. S. (2025). Living synthetic benchmarks: A neutral and cumulative framework for simulation studies. arXiv Preprint. https://doi.org/10.48550/arXiv.2510.19489
For the publication bias benchmark R package please cite:
Bartoš, F., Pawel, S., & Siepe, B. S. (2025). PublicationBiasBenchmark: Benchmark for publication bias correction methods (version 0.1.0). https://github.com/FBartos/PublicationBiasBenchmark
Overviews of the benchmark results are available as articles on the package website:
Contributor guidelines for extending the package with data-generating mechanisms, methods, and results are available at:
Illustrations of how to use the precomputed datasets, results, and measures are available at:
The rest of this file overviews the main features of the package.
# Install from GitHub
remotes::install_github("FBartos/PublicationBiasBenchmark")library(PublicationBiasBenchmark)# Obtain a data.frame with pre-defined conditions
dgm_conditions("Stanley2017")
# simulate the data from the second condition
df <- simulate_dgm("Stanley2017", 2)
# fit a method
run_method("RMA", df)# download the pre-simulated datasets
# (the intended location for storing the package resources needs to be specified)
PublicationBiasBenchmark.options(resources_directory = "/path/to/files")
download_dgm_datasets("no_bias")
# retrieve first repetition of first condition from the downloaded datasets
retrieve_dgm_dataset("no_bias", condition_id = 1, repetition_id = 1)# download the pre-computed results
download_dgm_results("no_bias")
# retrieve results the first repetition of first condition of RMA from the downloaded results
retrieve_dgm_results("no_bias", method = "RMA", condition_id = 1, repetition_id = 1)
# retrieve all results across all conditions and repetitions
retrieve_dgm_results("no_bias")# download the pre-computed measures
download_dgm_measures("no_bias")
# retrieve measures of bias the first condition of RMA from the downloaded results
retrieve_dgm_measures("no_bias", measure = "bias", method = "RMA", condition_id = 1)
# retrieve all measures across all conditions and measures
retrieve_dgm_measures("no_bias")# define sim setting
sim_settings <- list(
n_studies = 100,
mean_effect = 0.3,
heterogeneity = 0.1
)
# check whether it is feasible
# (defined outside of the function - not to decrease performance during simulation)
validate_dgm_setting("no_bias", sim_settings)
# simulate the data
df <- simulate_dgm("no_bias", sim_settings)
# fit a method
run_method("RMA", df)simulate_dgm(): Generates simulated data according to
specified data-generating mechanism and settings.dgm_conditions(): Lists prespecified conditions of the
data-generating mechanism.validate_dgm_setting(): Validates (custom) setting of
the data-generating mechanism.download_dgm_datasets(): Downloads pre-simulated
datasets from the OSF repository.retrieve_dgm_dataset(): Retrieves the pre-simulated
dataset of a given condition and repetition from downloaded from the
pre-downloaded OSF repository.run_method(): Estimates method on a supplied data
according to the specified settings.method_settings(): Lists prespecified settings of the
method.download_dgm_results(): Downloads pre-computed results
from the OSF repository.retrieve_dgm_results(): Retrieves the pre-computed
results of a given method, condition, and repetition from the
pre-downloaded OSF repository.bias(), bias_mcse(), etc.: Functions to
compute performance measures and their Monte Carlo standard errors.download_dgm_measures(): Downloads pre-computed
performance measures from the OSF repository.retrieve_dgm_measures(): Retrieves the pre-computed
performance measures of a given method, condition, and repetition from
the pre-downloaded OSF repository.See methods("dgm") for the full list:
"no_bias": Generates data without publication bias (a
test simulation)"Stanley2017": Stanley et al. (2017)"Alinaghi2018": Alinaghi & Reed (2018)"Bom2019": Bom & Rachinger (2019)"Carter2019": Carter et al. (2019)See methods("method") for the full list:
"mean": Mean effects size"FMA": Fixed effects meta-analysis"RMA": Random effects meta-analysis"WLS": Weighted Least Squares"trimfill": Trim-and-Fill (Duval & Tweedie,
2000)"WAAPWLS": Weighted Least Squares - Weighted Average of
Adequately Power Studies (Stanley et al., 2017)"WILS": Weighted and Iterated Least Squares (Stanley
& Doucouliagos,
"PET": Precision-Effect Test (PET) publication bias
adjustment (Stanley & Doucouliagos, 2014)"PEESE": Precision-Effect Estimate with Standard Errors
(PEESE) publication bias adjustment (Stanley & Doucouliagos,
2014)"PETPEESE": Precision-Effect Test and Precision-Effect
Estimate with Standard Errors (PET-PEESE) publication bias adjustment
(Stanley & Doucouliagos, 2014)"EK": Endogenous Kink (Bom & Rachinger, 2019)"SM": Selection Models (3PSM, 4PSM) (Vevea &
Hedges, 1995)"pcurve": P-curve (Simonsohn et al., 2014)"puniform": P-uniform (van Assen et al., 2015) and
P-uniform* (van Aert & van Assen, 2025)"AK": Andrews & Kasy selection models (AK1, AK2)
(Andrews & Kasy,
"RoBMA": Robust Bayesian Meta-Analysis (Bartoš et al.,
2023)See ?measures for the full list of performance measures
and their Monte Carlo standard errors/
All DGMs are linked to the OSF repository (https://osf.io/exf3m/) and contain the following elements:
data : folder containing by-condition simulated
datasets for all repetitionsresults : folder containing by-method results for all
conditions * repetitionsmeasures : folder containing by-measure performance for
all methods * conditionsmetadata : folder containing the following information:
dgm-conditions.csv : file mapping of all conditions and
the corresponding settingsdgm-generation.R : file with code for exact
reproduction of the pre-simulated datasetsdgm-sessionInfo.txt: file with reproducibility details
for the pre-simulated datasetsdgm-session.log: file with reproducibility details for
the pre-simulated datasets (based on sessioninfo package)results.R : file with code for exact reproduction of
the by method results (might be method / method groups specific)results-sessionInfo.txt: file with reproducibility
details for the precomputed results (might be method / method groups
specific)pm-computation.R : file with code for computation of
performance measures