Quick Start
This vignette shows the user how to do their first simulation with mrgsolve.
Load a model
After loading the package
we’ll use the mread() function to read, parse, compile and load a model out of the internal model library. Try calling the modlib function (modlib()) and see that the path to the installed package is returned, pointing to a directory of pre-coded models. These models are good to try when learning mrgsolve.
For this first example, we’re using a one compartment model (called pk1 in the model library)
Once we create the model object (mod) we can extract certain information about the model. For example, get an overview
.
.
. ----------------- source: pk1.cpp -----------------
.
. project: /Users/kyleb/Lib...gsolve/models
. shared object: pk1-so-f1064908fa6d
.
. time: start: 0 end: 24 delta: 1
. add: <none>
.
. compartments: EV CENT [2]
. parameters: CL V KA [3]
. captures: CP [1]
. omega: 0x0
. sigma: 0x0
.
. solver: atol: 1e-08 rtol: 1e-08 maxsteps: 20k
. ------------------------------------------------------
Or look at model parameters and their values
We’ll see in the section below how to run a simulation from this model. But first, let’s create a dosing intervention to use with this model.
Create an intervention
The simplest way to create an intervention is to use an event object. This is just a simple expression of one or more model interventions (most frequently doses)
We’ll see in other vignettes how to create more-complicated events as well as how to create larger data sets with many individuals in them.
For now, the event object is just an intervention that we can combine with a model.
Simulate
To simulate, use the mrgsim() function.
We use a pipe sequence here (%>%) to pass the model object (mod) into the event function (ev()) where we attach the dosing intervention, and that result gets passed into the simulation function. The result of the simulation function is essentially a data frame of simulated values
. Model: pk1
. Dim: 4802 x 5
. Time: 0 to 480
. ID: 1
. ID time EV CENT CP
. 1: 1 0.0 0.00 0.000 0.0000
. 2: 1 0.0 100.00 0.000 0.0000
. 3: 1 0.1 90.48 9.492 0.4746
. 4: 1 0.2 81.87 18.034 0.9017
. 5: 1 0.3 74.08 25.715 1.2858
. 6: 1 0.4 67.03 32.619 1.6309
. 7: 1 0.5 60.65 38.819 1.9409
. 8: 1 0.6 54.88 44.383 2.2191
Plot
mrgsolve comes with several different functions for processing output. One simple function is a plot method that will generate a plot of what was just simulated
