Package: mlumr 0.2.0

mlumr: Multilevel Unanchored Meta-Regression for Indirect Treatment Comparisons

Bayesian multilevel unanchored meta-regression (ML-UMR) for indirect treatment comparisons using individual patient data (IPD) and aggregate data (AgD). Implements shared prognostic factor assumption (SPFA) and relaxed SPFA models for binary, continuous, count, and time-to-event (survival) outcomes via 'Stan', including parametric and flexible M-spline survival baselines. Also provides a one-arm simulated treatment comparison (STC) via comparator-population G-computation and naive unadjusted benchmarks. ML-UMR is an adaptation of the ML-NMR methodology (Phillippo et al. 2020, <doi:10.1111/rssa.12579>) implemented in the 'multinma' package (GPL-3) to the unanchored two-trial case. The public API uses familiar names for data setup, integration and effect summaries, but ML-NMR and ML-UMR specifications and fitted objects are not interchangeable because their evidence structures and models differ.

Authors:Ahmad Sofi-Mahmudi [aut, cre], Conor Chandler [aut]

mlumr_0.2.0.tar.gz
mlumr_0.2.0.zip(r-4.7-x86_64)mlumr_0.2.0.zip(r-4.7-arm64)mlumr_0.2.0.zip(r-4.6-x86_64)mlumr_0.2.0.zip(r-4.6-arm64)mlumr_0.2.0.zip(r-4.5-x86_64)
mlumr_0.2.0.tgz(r-4.6-x86_64)mlumr_0.2.0.tgz(r-4.6-arm64)mlumr_0.2.0.tgz(r-4.5-x86_64)mlumr_0.2.0.tgz(r-4.5-arm64)
mlumr_0.2.0.tar.gz(r-4.7-arm64)mlumr_0.2.0.tar.gz(r-4.7-x86_64)mlumr_0.2.0.tar.gz(r-4.6-arm64)mlumr_0.2.0.tar.gz(r-4.6-x86_64)
mlumr_0.2.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
mlumr/json (API)

# Install 'mlumr' in R:
install.packages('mlumr', repos = c('https://choxos.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/choxos/mlumr/issues

Pkgdown/docs site:https://choxos.github.io

Uses libs:
  • onetbb– Parallelism library for C++
  • c++– GNU Standard C++ Library v3
Datasets:
  • caries_agd - Dental caries: simulated comparator aggregate data
  • caries_ipd - Dental caries: simulated index IPD
  • ndmm_agd - Newly diagnosed multiple myeloma: comparator pseudo-IPD
  • ndmm_agd_covs - Newly diagnosed multiple myeloma: comparator covariate summaries
  • ndmm_ipd - Newly diagnosed multiple myeloma: index individual patient data
  • psoriasis_agd - Plaque psoriasis: comparator aggregate data
  • psoriasis_ipd - Plaque psoriasis: index individual patient data
  • shoulder_agd - Shoulder pain: simulated comparator aggregate data
  • shoulder_ipd - Shoulder pain: simulated index IPD

On CRAN:

Conda:

bayesianhealth-technology-assessmentindirect-treatment-comparisonmultilevel-modelsstatisticsonetbbcpp

7.18 score 12 stars 31 scripts 338 downloads 45 exports 55 dependencies

Last updated from:ae574a035c. Checks:15 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK718
linux-devel-x86_64OK867
source / vignettesOK1120
linux-release-arm64OK731
linux-release-x86_64OK855
macos-release-arm64OK732
macos-release-x86_64OK1686
macos-oldrel-arm64OK795
macos-oldrel-x86_64OK1127
windows-devel-arm64OK841
windows-devel-x86_64OK958
windows-release-arm64OK1144
windows-release-x86_64OK1072
windows-oldrel-x86_64OK969
wasm-releaseOK520

Exports:add_integrationcalculate_diccalculate_loocalculate_waiccheck_diagnosticscheck_identificationcheck_integrationcombine_datacompare_modelsconditional_effectsconditional_predictdberndefault_prior_auxdefault_prior_betadefault_prior_interceptdefault_prior_sigmadefault_prior_smoothdgammadistrdlogitnormgeom_kmmake_knotsmarginal_effectsmlumrmlumr_enginemlumr_forestnaivepbernpgammaplogitnormplot_prior_posteriorprior_cauchyprior_exponentialprior_normalprior_sensitivityprior_student_tprior_summaryqbernqgammaqlogitnormset_agdset_agd_survset_ipdstcunnest_integration

Dependencies:abindbackportsBHcallrcheckmateclicpp11descdistributionalfarvergenericsggplot2gluegridExtragtableinlineisobandlabelinglatticelifecycleloomagrittrMatrixmatrixStatsnumDerivotelpillarpkgbuildpkgconfigposteriorprocessxpsQuickJSRR6randtoolboxRColorBrewerRcppRcppArmadilloRcppEigenRcppParallelrlangrngWELLrstanrstantoolsS7scalessplines2StanHeaderssurvivaltensorAtibbleutf8vctrsviridisLitewithr

Choosing a method for single-arm indirect comparisons: ML-UMR, STC, and naive
Choosing a method for single-arm indirect comparisons: ML-UMR, STC, and naive | A shared dataset | Naive and STC | ML-UMR (SPFA and relaxed) | A comparison table | Interpreting the differences | Model comparison | Decision guide | References

Last update: 2026-09-29
Started: 2026-09-04

Introduction to mlumr
What mlumr does | Supported outcome families | The four methods | What "unanchored" does and does not buy you | Installation | The workflow at a glance | Where to go next

Last update: 2026-09-29
Started: 2026-05-15

Preparing data and integration points
The pipeline (illustrated on a binary endpoint) | Outcome-family input reference | Covariate naming and types | Scale conventions for aggregate summaries | Integration points | Correlation handling | Inspecting the integration points | Visualizing the integration points | Integration requirements for STC and naive

Last update: 2026-09-07
Started: 2026-05-15

Aggregate subgroup information for the relaxed model
Aggregate subgroup information for the relaxed model | What an aggregate row contributes | Rows must describe one population | Mean-profile geometry | Using check_identification() | Recommended workflow | Distribution and dependence assumptions | Time-to-event outcomes | Simulation evidence | What this vignette does not claim | References

Last update: 2026-09-04
Started: 2026-09-04

Binary outcomes: an unanchored PASI 75 comparison
Binary outcomes: an unanchored PASI 75 comparison | The clinical question | The ML-UMR model | Covariate balance | Setting up the ML-UMR data | Frequentist benchmarks | Fitting the ML-UMR models | Treatment effects | Absolute predictions | Conditional effects | Model comparison | Interpretation | References

Last update: 2026-09-04
Started: 2026-09-04

Continuous outcomes: an unanchored mean-difference comparison
Continuous outcomes: an unanchored mean-difference comparison | The clinical question | The ML-UMR model | Covariate balance | Setting up the ML-UMR data | Frequentist benchmarks | Fitting the ML-UMR models | Treatment effects | Absolute predictions | Conditional effects | Model comparison | Interpretation | References

Last update: 2026-09-04
Started: 2026-09-04

Count outcomes: an unanchored rate-ratio comparison
Count outcomes: an unanchored rate-ratio comparison | The clinical question | The ML-UMR model | Covariate balance | Setting up the ML-UMR data | Frequentist benchmarks | Fitting the ML-UMR models | Treatment effects | Absolute predictions | Conditional effects | Model comparison | Interpretation | References

Last update: 2026-09-04
Started: 2026-09-04

Fitting, priors, and diagnostics
A model to work with | Controlling the sampler | Backend selection | Priors | Inspecting a fit | MCMC diagnostics | Prior sensitivity | Troubleshooting | References

Last update: 2026-09-04
Started: 2026-09-04

Survival (time-to-event) outcomes
The unanchored survival problem | The ML-UMR survival model | Survival distributions | Censoring | The data: progression-free survival in NDMM | Covariate balance | Setting up the ML-UMR data | Frequentist benchmarks | Fitting the ML-UMR models | Treatment effects | Absolute predictions | Effect modification (relaxed M-spline model) | Model comparison | Log hazard ratios against the naive estimate | Interpretation | References

Last update: 2026-09-04
Started: 2026-09-04

Readme and manuals

Help Manual

Help pageTopics
Add numerical integration pointsadd_integration
Calculate DIC for model comparisoncalculate_dic
Calculate LOO-CV for an mlumr_fitcalculate_loo
Calculate WAIC for an mlumr_fitcalculate_waic
Dental caries: simulated comparator aggregate data (count)caries_agd
Dental caries: simulated index IPD (count)caries_ipd
Check the sampler diagnostics of a fitcheck_diagnostics
Can the aggregate data identify the comparator coefficients?check_identification
Check integration point adequacycheck_integration
Combine IPD and AgD for unanchored comparisoncombine_data
Compare fitted ML-UMR modelscompare_models
Conditional treatment effectsconditional_effects
Conditional predictionsconditional_predict
Bernoulli PMFdbern
Default priors used by 'mlumr()'default_priors default_prior_aux default_prior_beta default_prior_intercept default_prior_sigma default_prior_smooth
Specify a marginal distributiondistr
The Gamma distribution, parameterized by mean and standard deviationdgamma GammaDist pgamma qgamma
Observed Kaplan-Meier layer for survival overlaysgeom_km
The logit-Normal distributiondlogitnorm logitNormal plogitnorm qlogitnorm
Choose M-spline knots for a flexible-baseline survival modelmake_knots
Marginal treatment effectsmarginal_effects
Fit ML-UMR Modelmlumr
Get or set the Stan enginemlumr_engine
Forest plot of a small set of estimatesmlumr_forest
Naive unadjusted indirect comparisonnaive
Newly diagnosed multiple myeloma: comparator pseudo-IPD (survival)ndmm_agd
Newly diagnosed multiple myeloma: comparator covariate summaries (survival)ndmm_agd_covs
Newly diagnosed multiple myeloma: index individual patient data (survival)ndmm_ipd
Bernoulli CDFpbern
Prior-versus-posterior overlayplot_prior_posterior
Plot covariate-conditional treatment effectsplot.mlumr_conditional_effects
Forest plot of population-standardized marginal effectsplot.mlumr_marginal_effects
Plot absolute predictions from a fitted ML-UMR modelplot.mlumr_prediction
Predictions from ML-UMR modelpredict.mlumr_fit
Specify a Cauchy priorprior_cauchy
Specify an exponential priorprior_exponential
Specify a normal priorprior_normal
Prior sensitivity analysis for an ML-UMR fitprior_sensitivity
Specify a Student-t priorprior_student_t
Summary of priors used by a fitted ML-UMR modelprior_summary prior_summary.default prior_summary.mlumr_fit
Plaque psoriasis: comparator aggregate data (binary)psoriasis_agd
Plaque psoriasis: index individual patient data (binary)psoriasis_ipd
Bernoulli quantile functionqbern
Set up aggregate data (AgD)set_agd
Set up aggregate survival data (reconstructed pseudo-IPD)set_agd_surv
Set up individual patient data (IPD)set_ipd
Shoulder pain: simulated comparator aggregate data (continuous)shoulder_agd
Shoulder pain: simulated index IPD (continuous)shoulder_ipd
Simulated treatment comparison via G-computationstc
Expand integration points into a long-format data frameunnest_integration