First CRAN release of nlmixr

The nlmixr team is very proud to announce the first CRAN release of nlmixr (, an open source package for population PK and PKPD modelling. nlmixr builds on the RxODE package for simulation of nonlinear mixed effect models using ordinary differential equations, by implementing parameter estimation algorithms like nlme and SAEM (with gnlmm and FOCEi under active development). nlmixr greatly expands the utility of existing packages (like nlme) by providing an efficient and versatile way to specify pharmacometric models and dosing scenarios, with rapid execution due to compilation to C++.

This new release features a unified user-interface.  This user-interface provides PKPD modelers a minimalist, intuitive, expressive, domain-specific modeling language to compactly describe the model structure & efficiently explore the population data at hand.  Below is an example of specifying the theophline data by this domain language:

f <- function(){


lCl <- -3    # log Cl (L/hr)

lVc <- -1    # log Vc (L)

lKA <- 1     # log Ka (1/hr)

add.err <- c(0, 0.2, 1)

eta.Cl ~ 0.1 # BSV Cl

eta.Vc ~ 0.1 # BSV Vc

eta.KA ~ 0.1 # BSV Ka



## First parameters are defined in terms of the initial estimates

## parameter names.

Cl <- exp(lCl + eta.Cl)

Vc <- exp(lVc + eta.Vc)

KA <- exp(lKA + eta.KA)

## Next, the differential equations are defined

d/dt(depot)  = -KA*depot;

d/dt(centr)  =  KA*depot-Cl/Vc*centr;

## And the concentration is then calculated

cp = centr / Vc;

## Last, nlmixr is told that the plasma concentration follows

## an additive error (estimated by the parameter add.err)

cp ~ add(add.err)



fit <- nlmixr(f, theo_sd, est=”saem”)


Get in touch, reach out to us and discuss ways you could contribute, or try it out for yourself, and experience the joy of exploring and modelling population data all within R! The nlmixr team is working hard to make this community based modeling tool even better. Our goal: Express your model in nlmixr, openly and freely.


  1. Robert Bruccoleri | |

    I’ve just tried installing nlmixr from Cran into R-3.4.3 running on Redhat Linux 6. When I try the example, saem_theo1.R, I get “Error in numeric(neq) : invalid ‘length’ argument”.

    Please let me know what other information I can provide to help you diagnose this problem. Please followup by email.

Comments are closed.