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.
Usage
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, ...)Arguments
- x
a model object.
- ...
other items to be incorporated into the event object; see Details.
- object
an event object to be added to a model object.
- time
event time.
- amt
dose amount.
- evid
event ID.
- cmt
compartment number or name.
- ID
subject ID.
- replicate
logical; if
TRUE, events will be replicated for each individual inID.- until
the expected maximum observation time for this regimen; doses will be scheduled up to, but not including, the
untiltime; see Examples.- tinf
infusion time; if greater than zero, then the
rateitem will be derived asamt/tinf.- realize_addl
if
FALSE(default), no change toaddldoses. IfTRUE,addldoses are made explicit withrealize_addl().
Details
Required items in events objects include
time,amt,evidandcmt.If not supplied,
evidis assumed to be 1.If not supplied,
cmtis assumed to be 1.If not supplied,
timeis assumed to be 0.If
amtis not supplied, an error will be generated.If
totalis supplied, thenaddlwill be set tototal-1.Other items can include
ii,ss, andaddl(see data_set for details on all of these items).IDmay be specified as a vector.If replicate is
TRUE(default), then the events regimen is replicated for eachID; otherwise, the number of event rows must match the number ofIDs entered.
Examples
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