Regimens are defined using the new_regimen()
function.
You should provide information on the dose amount, how many doses, and
the dosing interval. However, how you provide that information is very
flexible. You can e.g. specify:
reg1 <- new_regimen(
amt = 100,
interval = 12,
n = 5
)
which will administer 5 doses of 100 mg (or whatever the unit is), at an interval of 12 hours. The same can however also be specified as:
reg1 <- new_regimen(
amt = 100,
times = c(0, 12, 24, 36, 48)
)
or:
reg1 <- new_regimen(
amt = c(100, 100, 100, 100, 100),
times = c(0, 12, 24, 36, 48)
)
Be careful: if the length of the amt
vector is not the
same as the length in times
, the function will repeat the
first amt
specified. The same goes for the arguments
type
, cmt
, and t_inf
.
By default, the new_regimen()
function assumes the dose
is given as bolus. If you want to specify that these should be given as
infusion, specify the type
and t_inf
arguments:
reg1 <- new_regimen(
amt = 100,
times = c(0, 12, 24, 36, 48),
type = "infusion",
t_inf = c(1, 1, 1.5, 1.5, 1)
)
When you created the model using new_ode_model
, you also
specified a default dosing compartment. If you didn’t specify the
dose
argument, the default dosing compartment is 1. Now,
should you want to administer the dose into a different compartment, you
can override it with the cmt
argument:
reg1 <- new_regimen(
amt = 100,
times = c(0, 12, 24, 36, 48),
cmt = c(1, 1, 2, 2, 3)
)
Which will administer the doses to compartments 1, 1, 2, 2, and 3, respectively (of course this is a hypothetical example).
Note: PKPDsim
doesn’t care about what unit the dose
is in, you have to define this yourself in conjunction with the model
code and observation scale.
Steady state
Instead of simulating the full concentration time course for a given
model, if you want to simulate the PK(PD) at steady state, you can also
specify the ss = TRUE
argument to
new_regimen()
, which will then simulate the regimen at
steady state. By default, steady state is assumed to occur after 5 days
(PKPDsim doesn’t check if steady state is reached!), but if you want to
decrease or increase this you can do so by specifying the
n_ss
argument, which takes the number of doses to simulate
before assuming steady state.
reg_ss <- new_regimen(
amt = 100,
interval = 12,
n = 5,
ss = TRUE,
n_ss = 10
)
reg_ss
## Note: Steady state regimen, steady state assumed to be reached at t = 0.
## t type amt t_inf
## 1 0 bolus 100 0
## 2 12 bolus 100 0
## 3 24 bolus 100 0
## 4 36 bolus 100 0
## 5 48 bolus 100 0