An event object specifies dosing or other interventions that get implemented during simulation. Event objects do similar things as data_set, but simpler and quicker.

ev(x, ...)

# S4 method for mrgmod
ev(x, object = NULL, ...)

# S4 method for 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 ev
ev(x, realize_addl = FALSE, ...)

Arguments

x

a model object

...

other items to be incorporated into the event object; see details

object

passed to show

time

event time

amt

dose amount

evid

event ID

cmt

compartment

ID

subject ID

replicate

logical; if TRUE, events will be replicated for each individual in ID

until

the expected maximum observation time for this regimen

tinf

infusion time; if greater than zero, then the rate item will be derived as amt/tinf

realize_addl

if FALSE (default), no change to addl doses. If TRUE, addl doses are made explicit with realize_addl

Value

events object

Details

  • 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

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)