nlmixr2 is here
By the nlmixr2 Development Team in nlmixr2
June 8, 2022
Over the past half year, a lot of changes have been happening behind the scenes, and the time has finally come to reveal them!
nlmixr2
nlmixr2
will be the version in active development going forward, taking over from nlmixr
, starting with the current CRAN version, 2.0.6. Our new home on GitHub is here, and on CRAN, we’re here.
The reasons for the name and format change are many, but most importantly, we’ve taken this step to improve overall user experience and to help us maintain the project more effectively.
These are the things that have changed that you might notice…
nlmixr2
is now easier to install without the requirement of Python (okay, that’s been true for a while, but we’re still excited about it).install.packages("nlmixr2")
is all that you need to do on most systems.- Simulations are now easier with
nlmixr2
- you can directly usenlmixr2
model objects for simulation without needing to rewrite usingrxode2
syntax (although you can still do this if you want). - Automatic mu-referencing is done for SAEM models going forward. We mu-reference for you!
- The big one:
nlmixr
has been split into several modular packages.nlmixr2
is an umbrella package, wrapping up lower level packagesrxode2
,nlmixr2est
,nlmixr2extra
,nlmixr2data
,nlmixr2plot
,lotri
andPreciseSums
.rxode2
is an R package for solving and simulating from ODE-based models. Models are converted to C to maximise speed and efficiency.rxode2
is the beating heart ofnlmixr2
.nlmixr2est
provides the core estimation routines fornlmixr2
.nlmixr2extra
provides the tools to help with common pharmacometric tasks like bootstrapping and covariate selection, amongst others.nlmixr2plot
provides basic plotting support fornlmixr2
models. You’d be better off usingxpose.nlmixr
, quite frankly, but it’s here for legacy purposes.nlmixr2data
rolls up all thenlmixr2
example datasets in once convenient place.lotri
was developed to easily specify block-diagonal matrices with (lo)wer (tri)angular matrices. Think of it as having won the (badly spelled) lotri (or lottery). It’s just that cool.PreciseSums
brings a few algorithms for precise sums and products to R. They are ported from Python and NumPy for the most part.
Dig in
We have a lot of HOWTOs, example models, and other bits and pieces for getting started up at our core site, https://www.nlmixr2.org. Go take a look.
We have some papers out as well - our tutorial from 2019 (1) is getting a bit long in the tooth, but the core details are relevant. Rik published a comparison between the SAEM and FOCE algorithms around the same time (2), and Matt had a paper on how nlmixr
might be a useful tool for bridging statistics and pharmacometrics (3). They’re all worth your time.
The Development Team
Our development team, led by Matt Fidler, is spread across the world, with contributors based in the United States (Matt, Bill Denney, John Harrold, Mirjam Trame, Yuan Xiong and Huijuan Xu), The Netherlands (Richard Hooijmaijers and Rik Schoemaker), Germany (Justin Wilkins) and Switzerland (Theodoros Papathanasiou).