StateVals | R Documentation |
Simulate values (i.e., utility or costs) associated with health states in a state transition or partitioned survival model.
params
Parameters for simulating state values. Currently supports
objects of class tparams_mean
or params_lm
.
input_data
An object of class input_mats. Only used for
params_lm
objects.
method
The method used to simulate costs and
quality-adjusted life-years (QALYs) as a function of state values.
If wlos
, then costs and QALYs are
simulated by weighting state values by the length of stay in a health
state. If starting
, then state values represent a one-time value
that occurs when a patient enters a health state. When starting
is
used in a cohort model, the state values only accrue at time 0;
in contrast, in an individual-level model, state values
accrue each time a patient enters a new state and are discounted based on
time of entrance into that state.
time_reset
If FALSE
then time intervals are based on time since
the start of the simulation. If TRUE
, then time intervals reset each
time a patient enters a new health state. This is relevant if, for example,
costs vary over time within health states. Only used if method = wlos
.
new()
Create a new StateVals
object.
StateVals$new( params, input_data = NULL, method = c("wlos", "starting"), time_reset = FALSE )
params
The params
field.
input_data
The input_data
field.
method
The method
field.
time_reset
The time_reset
field.
A new StateVals
object.
sim()
Simulate state values with either predicted means or random samples by
treatment strategy, patient, health state, and time t
.
StateVals$sim(t, type = c("predict", "random"))
t
A numeric vector of times.
type
"predict"
for mean values or "random"
for random samples.
A data.table
of simulated state values with columns for sample
,
strategy_id
, patient_id
, state_id
, time
, and value
.
check()
Input validation for class. Checks that fields are the correct type.
StateVals$check()
clone()
The objects of this class are cloneable with this method.
StateVals$clone(deep = FALSE)
deep
Whether to make a deep clone.
# Simple sick-sicker example where drug costs vary by treatment strategy # and over time. Prior to time = 5, costs are $10,000 for treatment strategy # 1 and $5,000 for treatment strategy 2. After time = 5, costs are $2,000 # for both treatment strategies ## Setup the model hesim_dat <- hesim_data( strategies = data.frame(strategy_id = c(1, 2)), patients = data.frame(patient_id = 1:3), states = data.frame(state_id = c(1, 2), # Non-death states state_name = c("sick", "sicker")) ) ## Drug costs vary by health state and time interval drugcost_tbl <- stateval_tbl( data.frame( strategy_id = c(1, 1, 2, 2), time_start = c(0, 5, 0, 5), est = c(10000, 2000, 5000, 2000) ), dist = "fixed" ) drugcost_tbl ## Create drug cost model drugcostmod <- create_StateVals(drugcost_tbl, n = 1, hesim_data = hesim_dat) ## Explore predictions from the drug cost model drugcostmod$sim(t = c(2, 6), type = "predict")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.