RxODE is an R package for solving and simulating from ode-based models. These models are convert the RxODE mini-language to C and create a compiled dll for fast solving. ODE solving using RxODE has a few key parts:
RxODE()
which creates the C code for fast ODE solving based on a simple syntax related to Leibnitz notation.- The event data, which can be:
- a
NONMEM
ordeSolve
compatible data frame, or - created with
et()
orEventTable()
for easy simulation of events - The data frame can be augmented by adding
time-varying
or adding individual covariates (
iCov=
as needed)
- a
rxSolve()
which solves the system of equations using initial conditions and parameters to make predictions- With multiple subject data, this may be parallelized.
- With single subject the output data frame is adaptive
- Covariances and other metrics of uncertanty can be used to simulate while solving
You can install the released version of RxODE from CRAN with:
install.packages("RxODE")
To run RxODE, you need a working c compiler. To use parallel threaded solving in RxODE, this c compiler needs to support open-mp.
You can check to see if R has working c-compile you can check with:
pkgbuild::has_build_tools(debug = TRUE)
If you do not have the toolchain, you can set it up as described by the platform information below:
In windows you may simply use installr to install rtools:
install.packages("installr")
library(installr)
install.rtools()
Installation on a mac is much similar to RxODE installation under windows. To enable open mp on R and RxODE, you will need to install the gfortran and clang compilers located at https://cran.r-project.org/bin/macosx/tools/
To install on linux make sure you install gcc (with openmp support) and gfortran using your distribution's package manager.
Since the development version of RxODE uses StanHeaders, you will need to make sure your compiler is setup to support C++14, as described in the rstan setup page
Once the C++ toolchain is setup appropriately, you can install the development version from GitHub with:
# install.packages("devtools")
devtools::install_github("nlmixrdevelopment/RxODE")