Performs a model-based tipping point analysis on time-to-event data by repeatedly imputing censored observations under varying assumptions. The model-based framework assumes that censored patients have a multiple of hazard fitted via a parametric survival model compared to the rest of patients in the same arm (Akinson et al, 2019).
tipping_point_model_based(
dat,
reason,
impute,
imputation_model = "weibull",
J = 10,
tipping_range = seq(0.05, 1, by = 0.05),
cox_fit = NULL,
verbose = FALSE,
seed = NULL
)A tipse object containing:
Input argument from 'data'.
A data frame of combined pooled model results across tipping points
The original hazard ratio.
Input argument from 'reason'.
Input argument from 'impute'.
Input argument from 'method'.
A list of imputed datasets for each tipping point value.
Random seed.
data.frame containing at least 5 columns: TRT01P (treatment arm as factor), AVAL (survival time), EVENT (event indicator), CNSRRS (censoring reason) and MAXAVAL (maximum potential survival time, duration between randomization to data cut-off)
Vector specifying censoring reasons to be imputed.
a string specifying the treatment arm(s) which require imputation. It must be one of the arms from variable TRT01P, the first level of TRT01P is considered as the control arm.
used to fit model to observed data (should be "Weibull" or "exponential")
numeric indicating number of imputations.
Numeric vector. Hazard inflation (>1) for treatment arm imputation or deflation (<1) range for control arm imputation.
A Cox model that will be used to calculate HRs on imputed datasets. In case of inclusion of stratification factors or covariates, conditional HR will be used.
Logical. If TRUE, prints progress and analysis details.
Integer, default as NULL. Random seed for reproducibility.
The model-based tipping point analysis provides a reproducible and intuitive framework for exploring the robustness of treatment effects in time-to-event (survival) endpoints when censoring may differ between study arms.
A parametric survival model is fitted using maximum likelihood.
This function applies a hazard deflation on control arm or hazard inflation on treatment
arm, and impute survival times based on the parametric model with additional sampling of the parameters from a multivariate normal distribution.
This imputation procedure is iterated across a range of
tipping point parameters tipping_range. For each parameter value:
Multiple imputed datasets are generated (J replicates), where censored
observations in the selected arm are reassigned
event times according to the imputation method.
A Cox proportional hazards model is fitted to each imputed dataset.
Model estimates are pooled using Rubin’s rules to obtain a combined hazard ratio and confidence interval for that tipping point parameter.
The process yields a series of results showing how the treatment effect changes as increasingly conservative or optimistic assumptions are made about censored observations. The tipping point is defined as the smallest value (hazard inflation) or biggest value (hazard deflation) of the sensitivity parameter for which the upper bound of the hazard ratio confidence interval crosses 1 - i.e., where the apparent treatment benefit is lost.
Atkinson, A., Kenward, M. G., Clayton, T., & Carpenter, J. R. (2019). Reference‐based sensitivity analysis for time‐to‐event data. Pharmaceutical statistics, 18(6), 645-658.
cox1 <- survival::coxph(Surv(AVAL, EVENT) ~ TRT01P, data = codebreak200)
result <- tipping_point_model_based(
dat = codebreak200,
reason = "Early dropout",
impute = "docetaxel",
imputation_model = "weibull",
J = 10,
tipping_range = seq(0.1, 1, by = 0.05),
cox_fit = cox1,
verbose = TRUE
)
Run the code above in your browser using DataLab