An event object specifies dosing or other interventions that get implemented during simulation. Event objects do similar things as data_set, but simpler and easier to create.
ev(x, ...)
# S4 method for class 'mrgmod'
ev(x, object = NULL, ...)
# S4 method for class 'missing'
ev(
time = 0,
amt = 0,
evid = 1,
cmt = 1,
ID = numeric(0),
replicate = TRUE,
until = NULL,
tinf = NULL,
realize_addl = FALSE,
...
)
# S4 method for class 'ev'
ev(x, realize_addl = FALSE, ...)a model object.
other items to be incorporated into the event object; see Details.
an event object to be added to a model object.
event time.
dose amount.
event ID.
compartment number or name.
subject ID.
logical; if TRUE, events will be replicated for
each individual in ID.
the expected maximum observation time for this regimen;
doses will be scheduled up to, but not including, the until time;
see Examples.
infusion time; if greater than zero, then the rate item
will be derived as amt/tinf.
if FALSE (default), no change to addl
doses. If TRUE, addl doses are made explicit with realize_addl().
ev() returns an event object.
Required items in events objects include
time, amt, evid and cmt.
If not supplied, evid is assumed to be 1.
If not supplied, cmt is assumed to be 1.
If not supplied, time is assumed to be 0.
If amt is not supplied, an error will be generated.
If total is supplied, then addl will be set to total-1.
Other items can include ii, ss, and addl
(see data_set for details on all of these items).
ID may be specified as a vector.
If replicate is TRUE (default), then the events
regimen is replicated for each ID; otherwise, the number of
event rows must match the number of IDs entered.
mod <- mrgsolve::house()
mod <- mod %>% ev(amt = 1000, time = 0, cmt = 1)
loading <- ev(time = 0, cmt = 1, amt = 1000)
maint <- ev(time = 12, cmt = 1, amt = 500, ii = 12, addl = 10)
c(loading, maint)
#> Events:
#> time amt cmt evid ii addl
#> 1 0 1000 1 1 0 0
#> 2 12 500 1 1 12 10
reduced_load <- dplyr::mutate(loading, amt = 750)
# Three additional doses in this case
e <- ev(amt = 100, ii = 4*7, until = 16*7)
e
#> Events:
#> time amt ii addl cmt evid
#> 1 0 100 28 3 1 1
# Last dose is given at 84
realize_addl(e)
#> Events:
#> time amt ii addl cmt evid
#> 1 0 100 0 0 1 1
#> 2 28 100 0 0 1 1
#> 3 56 100 0 0 1 1
#> 4 84 100 0 0 1 1
# Four additional doses with last at 112 in this case
e <- ev(amt = 100, ii = 4*7, until = 16*7 + 0.001)
realize_addl(e)
#> Events:
#> time amt ii addl cmt evid
#> 1 0 100 0 0 1 1
#> 2 28 100 0 0 1 1
#> 3 56 100 0 0 1 1
#> 4 84 100 0 0 1 1
#> 5 112 100 0 0 1 1