R/surv_tteICE.R
surv.tteICE.RdThis function estimates the potential cumulative incidence function for time-to event data under ICH E9 (R1) to address intercurrent events. The input data should be of a competing risks structure.
surv.tteICE(
A,
Time,
cstatus,
strategy = "composite",
cov1 = NULL,
method = "np",
weights = NULL,
subset = NULL,
na.rm = FALSE
)Treatment indicator, 1 for treatment and 0 for control.
Time to event.
Indicator of event, 1 for the primary event, 2 for the intercurrent event, 0 for censoring.
Strategy to address intercurrent events, "treatment" indicating treatment policy strategy,
"composite" indicating composite variable strategy, "natural" indicating hypothetical strategy
(Scenario I, controlling the hazard of intercurrent events), "removed" indicating hypothetical strategy
(Scenario II, removing intercurrent events), "whileon" indicating while on treatment strategy, and
"principal" indicating principal stratum strategy.
Baseline covariates.
Estimation method, "np" indicating nonparametric estimation, "np" indicating inverse
treatment probability weighting, "eff" indicating semiparametrically efficient estimation based on efficient
influence functions.
Weight for each subject.
Subset, either numerical or logical.
Whether to remove missing values.
A list including the fitted object and input variables.
Intercurrent events refer to the events occurring after treatment initiation of clinical trials that affect either the interpretation of or the existence of the measurements associated with the clinical question of interest. The International Conference on Harmonization (ICH) E9 (R1) addendum proposed five strategies to address intercurrent events, namely, treatment policy strategy, composite variable strategy, while on treatment strategy, hypothetical strategy, and principal stratum strategy. To answer a specific scientific question, a strategy with a particular estimand is chosen before the study design.
We adopt the potential outcomes framework that defines a causal estimand as the contrast between functionals of potential outcomes. Consider a randomized controlled trial with \(n\) individuals randomly assigned to one of two treatment conditions, denoted by \(w\), where \(w = 1\) represents the active treatment (a test drug) and \(w = 0\) represents the control (placebo). Assume that all patients adhere to their treatment assignments and do not discontinue treatment. Associated with individual \(i = 1, ..., n\) are two potential time-to-event primary outcomes \(T_i(1)\) and \(T_i(0)\), if any, which represent the time durations from treatment initiation to the primary outcome event under two treatment assignments respectively. Let \(R_i(1)\) and \(R_i(0)\) denote the occurrence time of potential intercurrent events, if any, under the two treatment assignments, respectively. Intercurrent events are considered as absent if no post-treatment intercurrent events occur until the end of study.
We adopt the potential cumulative incidences under both treatment assignments as the target estimands. Potential cumulative incidences describe the probability of time-to-event outcomes occurring at each time point. We define the treatment effect as the contrast of two potential cumulative incidences. Cumulative incidences are model-free and collapsible, enjoying causal interpretations.
Deng, Y., Han, S., & Zhou, X. H. (2025). Inference for Cumulative Incidences and Treatment Effects in Randomized Controlled Trials With Time-to-Event Outcomes Under ICH E9 (R1). Statistics in Medicine. doi:10.1002/sim.70091
## load data
data(bmt)
bmt = transform(bmt, d4=d2+d3)
A = as.numeric(bmt$group>1)
X = as.matrix(bmt[,c('z1','z3','z5')])
## Composite variable strategy,
## nonparametric estimation without covariates
fit1 = surv.tteICE(A, bmt$t2, bmt$d4, "composite")
## Hypothetical strategy (natural effects),
## nonparametric estimation with inverse probability weighting
fit2 = surv.tteICE(A, bmt$t2, bmt$d4, "natural", X, method='ipw')
## nonparametric estimation with weights as inverse propensity score
ps = predict(glm(A ~ X, family='binomial'), type='response')
w = A/ps + (1-A)/(1-ps)
fit2 = surv.tteICE(A, bmt$t2, bmt$d4, "natural", weights=w)
## Hypothetical strategy (removing intercurrent events),
## semiparametrically efficient estimation with covariates
fit3 = surv.tteICE(A, bmt$t2, bmt$d4, "removed", X, method='eff')