Aggregate data modelling · nlmixr2 / rxode2

A meta-analysis framework for population PK/PD
Fit one unified population model to what the literature reports — aggregate summary data or previously published PK/PD models — without individual patient data.
> install.packages("admixr2")
# Fit a model to published means + covariances
fit <- nlmixr2(model, admData(), est = "admc",
control = admControl(studies = list(
trial_A = list(E = Ea, V = Va, n = 120L,
times = c(1, 2, 4, 8, 24),
ev = et(amt = 100)))))
plot(fit) # observed mean vs prediction, ±1 SD
Aggregate data modelling
One likelihood over the summary-level information — a meta-analysis across studies.
Unified population model
One fit with interpretable fixed, random and covariate effects.
Choose the method that fits your problem
Every backend plugs into nlmixr2(…, est=) with analytical gradients. Compare them side by side in the estimator vignette.
First-order
Analytical first-order linearisation — deterministic, no Monte-Carlo draws. Typically the fastest backend.
Monte Carlo
Simulation of the aggregate likelihood, with analytical common-random-number gradients. Accuracy improves with the number of draws.
Gauss–Hermite
Deterministic quadrature over the random effects — noise-free, with an exact gradient. Most efficient when the random-effect dimension is small.
Iterative RMC
Iterative Reweighting Monte Carlo — reweights simulated draws across iterations, with a kappa correction for non-linear models.
Guides, grouped by what you’re doing
Ten worked vignettes, from your first fit to publication-grade diagnostics.
Getting started
Inputs — data & models
Meta-analysis across studies
Estimation & diagnostics
How to cite
van de Beek H., Välitalo P.A.J., Zwep L.B., van Hasselt J.G.C. (2025). admixr2: Aggregate Data Modelling. Journal of Pharmacokinetics and Pharmacodynamics. doi:10.1007/s10928-025-10011-w
Developed at Leiden University