Learn R Programming

hesim (version 0.5.0)

PsmCurves: Partitioned survival curves

Description

Summarize N-1 survival curves for an N-state partitioned survival model.

Arguments

Format

An R6::R6Class object.

Public fields

params

An object of class params_surv_list.

input_data

An object of class input_mats. Each row in X must be a unique treatment strategy and patient.

Methods

Public methods

Method new()

Create a new PsmCurves object.

Usage

PsmCurves$new(params, input_data)

Arguments

params

The params field.

input_data

The input_data field.

Returns

A new PsmCurves object.

Method hazard()

Predict the hazard function for each survival curve as a function of time.

Usage

PsmCurves$hazard(t)

Arguments

t

A numeric vector of times.

Returns

A data.table with columns sample, strategy_id, patient_id, grp_id, curve (the curve number), t, and hazard.

Method cumhazard()

Predict the cumulative hazard function for each survival curve as a function of time.

Usage

PsmCurves$cumhazard(t)

Arguments

t

A numeric vector of times.

Returns

A data.table with columns sample, strategy_id, patient_id, grp_id, curve, t, and cumhazard.

Method survival()

Predict survival probabilities for each survival curve as a function of time.

Usage

PsmCurves$survival(t)

Arguments

t

A numeric vector of times.

Returns

An object of class survival.

Method rmst()

Predict the restricted mean survival time up until time points t for each survival curve.

Usage

PsmCurves$rmst(t, dr = 0)

Arguments

t

A numeric vector of times.

dr

Discount rate.

Returns

A data.table with columns sample, strategy_id, patient_id, grp_id, curve, t, and rmst.

Method quantile()

Predict quantiles of the survival distribution for each survival curve.

Usage

PsmCurves$quantile(p)

Arguments

p

A numeric vector of probabilities for computing quantiles.

Returns

A data.table with columns sample, strategy_id, patient_id, grp_id, curve, p and quantile.

Method check()

Input validation for class. Checks that fields are the correct type.

Usage

PsmCurves$check()

Method clone()

The objects of this class are cloneable with this method.

Usage

PsmCurves$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

See Also

Psm, create_PsmCurves()

Examples

Run this code
# NOT RUN {
library("flexsurv")

# Simulation data
dt_strategies <- data.frame(strategy_id = c(1, 2, 3))
dt_patients <- data.frame(patient_id = seq(1, 3),
                          age = c(45, 50, 60),
                          female = c(0, 0, 1))
hesim_dat <- hesim_data(strategies = dt_strategies,
                        patients = dt_patients)

# Fit survival models
surv_est_data <- psm4_exdata$survival
fit1 <- flexsurv::flexsurvreg(Surv(endpoint1_time, endpoint1_status) ~ age,
                              data = surv_est_data, dist = "exp")
fit2 <- flexsurv::flexsurvreg(Surv(endpoint2_time, endpoint2_status) ~ age,
                              data = surv_est_data, dist = "exp")
fit3 <- flexsurv::flexsurvreg(Surv(endpoint3_time, endpoint3_status) ~ age,
                              data = surv_est_data, dist = "exp")
fits <- flexsurvreg_list(fit1, fit2, fit3)

# Form PsmCurves
surv_input_data <- expand(hesim_dat, by = c("strategies", "patients"))
psm_curves <- create_PsmCurves(fits, input_data = surv_input_data, n = 3,
                               uncertainty = "bootstrap", est_data = surv_est_data)

# Summarize survival curves
head(psm_curves$quantile(p = c(.25, .5, .75)))
head(psm_curves$survival(t = seq(0, 3, by = .1)))
head(psm_curves$rmst(t = c(2, 5)))

# }

Run the code above in your browser using DataLab