Skip to contents

Package

multisiteDGP multisiteDGP-package
multisiteDGP: Data-generating processes for multisite trial simulations

Front doors

User-facing simulation entry points. Use sim_multisite() when you can specify site sizes; use sim_meta() when you can specify information-scale targets directly.

sim_multisite()
Simulate a multisite trial data-generating process
sim_meta()
Simulate a direct-precision meta-analysis data-generating process
design_grid()
Create a Cartesian grid of multisite design cells for scenario sweeps

Design objects and data classes

Immutable design records, validators, predicates, and data coercion. Construct a design once with multisitedgp_design() when you want to reuse it across multiple simulation calls or a design_grid() sweep.

multisitedgp_design() print(<multisitedgp_design>) format(<multisitedgp_design>)
Construct an immutable multisite simulation design
validate_multisitedgp_design()
Validate a multisite simulation design
update_multisitedgp_design()
Functionally update a multisite simulation design
is_multisitedgp_design()
Test whether an object is a multisite simulation design
is_multisitedgp_data()
Test for multisite simulation data objects
as_tibble(<multisitedgp_data>) `[`(<multisitedgp_data>)
Coerce multisite simulation data to a plain tibble
print(<multisitedgp_data>)
Print method for multisite simulation data
summary(<multisitedgp_data>)
Summary method for multisite simulation diagnostics

Effect distributions

Generate the latent site-level effects at the heart of a multisite simulation. Eight built-in shapes — Gaussian, Student-t, skew normal, asymmetric Laplace, two-component mixture, point-mass slab, user callback, and a Dirichlet-process- mixture bridge — share a unit-variance convention so heterogeneity targets mean the same thing across shapes.

gen_effects()
Generate latent site effects
gen_effects_gaussian()
Generate Gaussian latent site effects
gen_effects_studentt()
Generate Student-t latent site effects
gen_effects_skewn()
Generate skew-normal latent site effects
gen_effects_ald()
Generate asymmetric Laplace latent site effects
gen_effects_mixture()
Generate two-component Gaussian mixture latent site effects
gen_effects_pmslab()
Generate point-mass-plus-slab latent site effects
gen_effects_user()
Generate user-supplied latent site effects
gen_effects_dpm()
Generate Dirichlet-process-mixture latent site effects

Site sizes and standard errors

Set how precisely each site is measured. Choose the site-size-driven model (sample sizes plus within-site variance) or the direct-precision model (information-scale targets).

gen_site_sizes()
Generate site sizes and sampling variances
gen_se_direct()
Generate direct sampling variances from informativeness and heterogeneity targets

Precision dependence

Inject intentional dependence between latent effects and site-level precision. Three injection methods — rank hill-climb, Gaussian copula, and a hybrid scheme — hit a target effect-precision correlation without distorting either margin.

align_rank_corr()
Align precision ranks to a target Spearman correlation
align_copula_corr()
Align precision ranks using a Gaussian copula pairing
align_hybrid_corr()
Align precision ranks using hybrid copula initialization and rank polishing

Observations

Observed site-level estimates from latent effects and precision — the final layer of the data-generating process.

gen_observations()
Generate observed site-level effect estimates

Diagnostics

Scenario feasibility, dependence verification, distributional fit, and shrinkage diagnostics — the four-question rubric for verifying a design behaves as intended before you commit to a long simulation run.

compute_kappa()
Compute the Neyman sampling-variance constant kappa
compute_I()
Compute realized informativeness
compute_shrinkage()
Compute per-site empirical-Bayes shrinkage proportions
informativeness()
Compute realized informativeness from data or a sampling-variance vector
mean_shrinkage()
Compute mean empirical-Bayes shrinkage
feasibility_index()
Compute the additive feasibility index (Efron or Morris)
default_thresholds()
Default thresholds for diagnostic-grid audits
heterogeneity_ratio()
Compute realized standard-error heterogeneity ratio
realized_rank_corr()
Compute realized residual-scale Spearman rank correlation
realized_rank_corr_marginal()
Compute realized marginal-scale Spearman rank correlation
bhattacharyya_coef()
Compute Bhattacharyya coefficient between empirical distributions
ks_distance()
Compute Kolmogorov-Smirnov distance between empirical distributions
scenario_audit()
Audit a grid of multisite design cells against quality-gate thresholds

Presets

Defensible starting designs for common multisite and meta-analysis questions. Each preset locks defensible parameter values and cites its source paper so a reviewer can defend the choice.

Output adapters

Coercions for downstream analysis packages — 'metafor', 'baggr', 'multisitepower' — and tidy workflows.

as_metafor() as_baggr() as_multisitepower()
Adapt multisiteDGP output for downstream meta-analysis and power packages

Visualization

Caterpillar / forest, funnel, and dependence-scatter plots for diagnosing a simulation.

plot_effects() plot_funnel() plot_dependence()
Visualization helpers for multisiteDGP simulations

Reproducibility

Stable hashes and provenance strings for simulation artifacts, so you can rerun and audit results months later.

canonical_hash()
Canonical hash for cross-machine reproducibility checks
provenance_string()
One-line human-readable provenance string