RxODE
Overview
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
NONMEMordeSolvecompatible 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
Installation
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:
Windows
In windows you may simply use installr to install rtools:
install.packages("installr")
library(installr)
install.rtools()Mac OSX
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/
Linux
To install on linux make sure you install gcc (with openmp support) and gfortran using your distribution's package manager.
Development Version
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")