stateval_tbl {hesim} | R Documentation |
Table to store state value parameters
Description
Create a table for storing parameter estimates used to simulate costs or utility in an economic model by treatment strategy, patient, health state, and (optionally) time interval.
Usage
stateval_tbl(
tbl,
dist = c("norm", "beta", "gamma", "lnorm", "unif", "fixed", "custom"),
hesim_data = NULL,
grp_var = NULL
)
Arguments
tbl |
A |
dist |
Probability distribution used to sample parameters for a probabilistic sensitivity analysis (PSA). |
hesim_data |
A |
grp_var |
The name of the variable used to group patients. |
Details
tbl
is a tabular object containing columns for treatment
strategies (strategy_id
), patients (patient_id
),
health states (state_id
), and/or the start of time intervals
(time_start
). The table must contain at least one column
named strategy_id
, patient_id
, or state_id
,
but does not need to contain all of them. Each row denotes a unique
treatment strategy, patient, health state, and/or time interval pair.
tbl
may also contain a column with the name specified in grp_var
(rather than patient_id
) so that state values are assigned to
groups of patients.
tbl
must also contain columns summarizing the state values for each
row, which depend on the probability distribution selected with dist
.
Available distributions include the normal (norm
), beta (beta
),
gamma (gamma
), lognormal (lnorm
), and uniform (unif
)
distributions. In addition, the option fixed
can be used if estimates
are known with certainty and custom
can be used if
parameter values for a PSA have been previously
sampled from an arbitrary probability distribution.
The columns in tbl
that must be included,
by distribution, are:
- norm
mean
andsd
- beta
mean
andse
orshape1
andshape2
- gamma
mean
andse
,shape
andrate
, orshape
andscale
- lnorm
meanlog
orsdlog
- unif
min
andmax
- fixed
est
- custom
sample
andvalue
Note that if dist = "custom"
, then tbl
must include a column
named sample
(an integer vector denoting a unique random draw) and
value
(denoting the value of the randomly sampled parameter). In this case,
there is a unique row in tbl
for each random draw (sample
) and
each combination of strategies, patients, health states, and/or time intervals.
Again, tbl
must contain at least one column
named strategy_id
, patient_id
(or grp_var
), or state_id
,
but does not need to contain them all.
Value
An object of class stateval_tbl
, which is a data.table
of
parameter values with attributes for dist
and grp_var
.
See Also
Examples
strategies <- data.frame(strategy_id = c(1, 2))
patients <- data.frame(patient_id = seq(1, 3),
grp = c(1, 1, 2),
age = c(45, 50, 60),
female = c(0, 0, 1))
states <- data.frame(state_id = c(1, 2))
hesim_dat <- hesim_data(strategies = strategies,
patients = patients,
states = states)
# Utility varies by health state and patient group
utility_tbl <- stateval_tbl(data.frame(state_id = rep(states$state_id, 2),
grp = rep(rep(c(1, 2)), each = nrow(states)),
mean = c(.8, .7, .75, .55),
se = c(.18, .12, .10, .06)),
dist = "beta",
grp_var = "grp")
print(utility_tbl)
utilmod <- create_StateVals(utility_tbl, n = 2, hesim_data = hesim_dat)
# Costs vary by treatment strategy
cost_tbl <- stateval_tbl(data.frame(strategy_id = strategies$strategy_id,
mean = c(5000, 3000),
se = c(200, 100)),
dist = "gamma")
print(cost_tbl)
costmod <- create_StateVals(cost_tbl, n = 2, hesim_data = hesim_dat)