The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Initial CRAN release.
ML-UMR models: Bayesian multilevel unanchored meta-regression with two model variants:
Three outcome families: binary (binomial), continuous (normal), and count (Poisson) outcomes, each with appropriate link functions:
Dual Stan backend: rstan (default,
CRAN-compatible) with optional cmdstanr support. Switch engines with
mlumr_engine("cmdstanr"), which guides installation of
cmdstanr and CmdStan if needed. Per-call override via the
engine argument in mlumr().
Simulated Treatment Comparison (STC): Frequentist outcome regression via parametric G-computation with delta-method standard errors. Supports prediction at covariate means or marginalization over full covariate distributions using integration points.
Naive unadjusted estimate: Benchmark comparison of crude outcome summaries with delta-method confidence intervals.
set_ipd(), set_agd(), and
combine_data() provide a unified interface for preparing
IPD and AgD for all three methods.set_ipd() rejects covariate names that collide with
reserved internal columns (.outcome, .study,
.trt, .exposure) so user values cannot be
silently overwritten by the standardized frame.set_agd() applies the same check to its covariate
mean/SD columns (.n, .r, .y,
.se, .study, .trt,
.E) and additionally rejects cov_means entries
that collapse to duplicate names after stripping the _mean
/ _prop suffix
(e.g. c("age_mean", "age")).add_integration() generates Sobol-sequence quasi-Monte
Carlo integration points with a Gaussian copula to account for covariate
correlations, enabling accurate marginalization over the AgD covariate
distribution.mlumr(), add_integration(),
check_integration(), and prior_sensitivity()
include verbose controls so scripts and tests can suppress
package-level progress output while retaining warnings.multinma package for the data-setup, integration, and
effect-summary workflow (set_ipd(), set_agd(),
add_integration(), unnest_integration(),
distr(), marginal_effects(),
qbern()/pbern()/dbern()). Users
familiar with ML-NMR can transfer their muscle memory directly to
ML-UMR. When both packages are attached in the same R session R issues
masking warnings on the shared names; disambiguate with
mlumr::function() / multinma::function().prior_normal(mean, sd),
prior_student_t(df, mean, sd),
prior_cauchy(mean, sd) (alias for
prior_student_t(df = 1, ...)), and
prior_exponential(rate). All six Stan models branch on the
prior family at runtime, so any of these can be supplied to
prior_intercept, prior_beta, or (normal family
only) prior_sigma.prior_beta accepts either a single prior (broadcast to
all covariates) or a list of per-coefficient priors. Per-coefficient
priors must share the same family and df (Stan branches on a single dist
code).prior_normal(), prior_student_t(), and
prior_cauchy() carry an autoscale argument.
When passed as prior_beta with
autoscale = TRUE, each coefficient’s prior scale is divided
by the empirical SD of its covariate (Gelman et al., 2008).
autoscale = FALSE by default.prior_intercept: prior_normal(0, 10)prior_beta: prior_normal(0, 2.5) (weakly
informative; Gelman et al.,
prior_sigma: prior_normal(0, 2.5)
(half-normal via the <lower=0> constraint in Stan)
for the normal family.default_prior_intercept(),
default_prior_beta(), and
default_prior_sigma() accessors expose the package
defaults. Values are tagged with $default = TRUE and the
package $version so prior_summary() can report
whether each prior is a default and which mlumr version produced
it.prior_summary() S3 generic +
prior_summary.mlumr_fit() method for human-readable
introspection of every prior used in a fit, including post-autoscale
per-coefficient scales.prior_sensitivity() refits a model across a grid of
prior_beta scales and returns a posterior-summary table —
the workflow recommended by Vehtari et al.’s prior-choice wiki for
judging data- vs prior-driven inference.predict.mlumr_fit() returns population-specific
predicted outcomes.marginal_effects() returns posterior treatment-effect
summaries.conditional_effects() returns covariate-conditional
treatment effects.conditional_predict() returns predictions at specific
covariate values.predict.mlumr_fit() and
conditional_effects() document the Jensen’s-inequality gap
on non-identity links: response-scale summaries are
E[g^{-1}(eta)], not g^{-1}(E[eta]).calculate_dic() for DIC-based comparison (no extra
dependencies).calculate_loo() and calculate_waic() using
the optional loo package for PSIS-LOO and WAIC (Vehtari,
Gelman, Gabry, 2017). loo is in Suggests, not
Imports.compare_models() accepts
criterion = c("dic", "loo", "waic"), defaulting to
"dic".log_lik_ipd, log_lik_agd) — the standard
contract for loo::loo() / loo::waic().beta (and
beta_comparator in relaxed models) are sampled via an
affine (non-centered) reparameterization:
z_beta ~ std_* (0, 1),
beta = prior_beta_mean + prior_beta_sd .* z_beta. This
decouples HMC adaptation from the prior scale and typically improves
mixing when the prior scale is mis-matched with the posterior
scale.check_diagnostics().check_integration() provides a check_joint
argument that compares pairwise correlation matrices at the current vs
doubled n_int (and against the user-supplied correlation
target when available).#include include/priors_hyperparameters.stan and
include/priors_sigma_hyperparameters.stan. Prior
log-density dispatchers live in
include/priors_functions.stan.include/binary_functions.stan.E_ipd in the two Poisson Stan models carries
<lower=0> so off-API consumers who assemble
stan_data manually get a Stan validation error rather than
log(0) = -Inf on a non-positive exposure.?mlumr-numerical-guards
documents safe_logit, safe_divide, and the
<lower=0> Stan guards.?mlumr-package provides a full overview of the typical
workflow (data preparation -> integration -> fit -> diagnostics
-> inference) and points at the alternative methods
(stc(), naive()).@seealso cross-links across
predict.mlumr_fit(), marginal_effects(),
conditional_effects(), conditional_predict(),
prior_summary(), and prior_sensitivity().These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.