| StateVals {hesim} | R Documentation |
Model for state values
Description
Simulate values (i.e., utility or costs) associated with health states in a state transition or partitioned survival model.
Public fields
paramsParameters for simulating state values. Currently supports objects of class
tparams_meanorparams_lm.input_dataAn object of class input_mats. Only used for
params_lmobjects.methodThe 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. Ifstarting, then state values represent a one-time value that occurs when a patient enters a health state. Whenstartingis 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_resetIf
FALSEthen time intervals are based on time since the start of the simulation. IfTRUE, 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 ifmethod = wlos.
Methods
Public methods
Method new()
Create a new StateVals object.
Usage
StateVals$new(
params,
input_data = NULL,
method = c("wlos", "starting"),
time_reset = FALSE
)Arguments
paramsThe
paramsfield.input_dataThe
input_datafield.methodThe
methodfield.time_resetThe
time_resetfield.
Returns
A new StateVals object.
Method sim()
Simulate state values with either predicted means or random samples by
treatment strategy, patient, health state, and time t.
Usage
StateVals$sim(t, type = c("predict", "random"))Arguments
tA numeric vector of times.
type"predict"for mean values or"random"for random samples.
Returns
A data.table of simulated state values with columns for sample,
strategy_id, patient_id, state_id, time, and value.
Method check()
Input validation for class. Checks that fields are the correct type.
Usage
StateVals$check()
Method clone()
The objects of this class are cloneable with this method.
Usage
StateVals$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
Examples
# 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")