Learn R Programming

hesim (version 0.2.3)

icea: Individualized cost-effectiveness analysis

Description

Conduct individualized cost-effectiveness analysis (ICEA) given output of an economic model. That is, summarize a probabilistic sensitivity analysis (PSA) by subgroup.

  • icea() computes the probability that each treatment is most cost-effective, output for a cost-effectiveness acceptability frontier, the expected value of perfect information, and the net monetary benefit for each treatment.

  • icea_pw() conducts pairwise ICEA by comparing strategies to a comparator. Computed quantities include the incremental cost-effectiveness ratio, the incremental net monetary benefit, output for a cost-effectiveness plane, and output for a cost-effectiveness acceptability curve.

Usage

icea(x, ...)

icea_pw(x, ...)

# S3 method for default icea(x, k = seq(0, 2e+05, 500), sample, strategy, grp = NULL, e, c, ...)

# S3 method for default icea_pw( x, k = seq(0, 2e+05, 500), comparator, sample, strategy, grp = NULL, e, c, ... )

# S3 method for ce icea(x, k = seq(0, 2e+05, 500), dr_qalys, dr_costs, ...)

# S3 method for ce icea_pw(x, k = seq(0, 2e+05, 500), comparator, dr_qalys, dr_costs, ...)

Arguments

x

An object of simulation output characterizing the probability distribution of clinical effectiveness and costs. If the default method is used, then x must be a data.frame or data.table containing columns of mean costs and clinical effectiveness where each row denotes a randomly sampled parameter set and treatment strategy.

...

Further arguments passed to or from other methods. Currently unused.

k

Vector of willingness to pay values.

sample

Character name of column from x denoting a randomly sampled parameter set.

strategy

Character name of column from x denoting treatment strategy.

grp

Character name of column from x denoting subgroup. If NULL, then it is assumed that there is only one group.

e

Character name of column from x denoting clinical effectiveness.

c

Character name of column from x denoting costs.

comparator

Name of the comparator strategy in x.

dr_qalys

Discount rate for quality-adjusted life-years (QALYs).

dr_costs

Discount rate for costs.

Value

icea returns a list containing four data.tables:

summary

A data.table of the mean, 2.5% quantile, and 97.5% quantile by strategy and group for clinical effectiveness and costs.

mce

The probability that each strategy is the most effective treatment for each group for the range of specified willingness to pay values. In addition, the column best denotes the optimal strategy (i.e., the strategy with the highest expected net monetary benefit), which can be used to plot the cost-effectiveness acceptability frontier (CEAF).

evpi

The expected value of perfect information (EVPI) by group for the range of specified willingness to pay values. The EVPI is computed by subtracting the expected net monetary benefit given current information (i.e., the strategy with the highest expected net monetary benefit) from the expected net monetary benefit given perfect information.

nmb

The mean, 2.5% quantile, and 97.5% quantile of net monetary benefits for the range of specified willingness to pay values.

icea_pw also returns a list containing four data.tables:

summary

A data.table of the mean, 2.5% quantile, and 97.5% quantile by strategy and group for clinical effectiveness and costs.

delta

Incremental effectiveness and incremental cost for each simulated parameter set by strategy and group. Can be used to plot a cost-effectiveness plane.

ceac

Values needed to plot a cost-effectiveness acceptability curve by group. The CEAC plots the probability that each strategy is more cost-effective than the comparator for the specified willingness to pay values.

inmb

The mean, 2.5% quantile, and 97.5% quantile of incremental net monetary benefits for the range of specified willingness to pay values.

Examples

Run this code
# NOT RUN {
# simulation output
n_samples <- 100
sim <- data.frame(sample = rep(seq(n_samples), 4),
                  c = c(rlnorm(n_samples, 5, .1), rlnorm(n_samples, 5, .1),
                        rlnorm(n_samples, 11, .1), rlnorm(n_samples, 11, .1)),
                  e = c(rnorm(n_samples, 8, .2), rnorm(n_samples, 8.5, .1),
                        rnorm(n_samples, 11, .6), rnorm(n_samples, 11.5, .6)),
                  strategy = rep(paste0("Strategy ", seq(1, 2)),
                                 each = n_samples * 2),
                  grp = rep(rep(c("Group 1", "Group 2"),
                            each = n_samples), 2)
)

# icea
icea <- icea(sim, k = seq(0, 200000, 500), sample = "sample", strategy = "strategy",
             grp = "grp", e = "e", c = "c")
names(icea)
# The probability that each strategy is the most cost-effective 
# in each group with a willingness to pay of 20,000
library("data.table")
icea$mce[k == 20000]

# icea_pw
icea_pw <-  icea_pw(sim,  k = seq(0, 200000, 500), comparator = "Strategy 1",
                    sample = "sample", strategy = "strategy", grp = "grp",
                     e = "e", c = "c")
names(icea_pw)
# cost-effectiveness acceptability curve
head(icea_pw$ceac[k >= 20000])
icer_tbl(icea_pw)
# }

Run the code above in your browser using DataLab