Welcome
Why nlmixr?
The goal of nlmixr
, or more accurately nlmixr2
, is to support easy and robust nonlinear mixed effects models (NLMEMs) in R.
NLMEMs are used to help identify and explain the relationships between drug exposure, safety, and efficacy and the differences among population subgroups. Most often, they are built using longitudinal PK and pharmacodynamic (PD) data collected during clinical studies. These models characterize the relationships between dose, exposure and biomarker and/or clinical endpoint response over time, variability between individuals and groups, residual variability, and uncertainty.
NLMEM development in the pharmaceutical space is dominated by a small number of proprietary, commercial software tools. Although this kind of approach to software has some advantages, adopting an open-source, open-science paradigm also has benefits - third-party auditing or adjustments are possible, and the precise model-fitting methodology employed can be determined by anyone with the time and energy to review the source code. We see nlmixr2
being especially useful in being able to integrate into the rich R ecosystem, and it is well suited for use in scripted, literate-programming workflows of the kind flourishing in the R ecosystem by means of packages such as knitr
and rmarkdown
.
The nlmixr2 blog
nlmixr2/rxode2 exploring data with rxode2 geoms

rxode2 and ggplot rxode2 (and nlmixr2) uses ggplot internally. This means most things are compatible with ggplot2. One thing that is not quite as widely known that rxode2 has some custom geom functions that are useful for exploring pharmacometrics data. geom_amt() – exploring when dosing occurs rxode2 will allow exploring time of dosing with the geom_amt(). From the geom_amt() documentation we can see how this is applied: library(rxode2) library(units) ## udunits database from /usr/share/xml/udunits/udunits2.
Read more