R.t.estimate {SurrogateOutcome} | R Documentation |
Calculates the proportion of the treatment effect (the difference in restricted mean survival time at time t) explained by primary outcome information observed up to the landmark time; also provides standard error estimate and confidence interval.
R.t.estimate(xone, xzero, deltaone, deltazero, t, landmark, std = FALSE, conf.int
= FALSE, weight.perturb = NULL)
xone |
numeric vector, observed event times for the primary outcome in the treatment group. |
xzero |
numeric vector, observed event times for the primary outcome in the control group. |
deltaone |
numeric vector, event/censoring indicators for the primary outcome in the treatment group. |
deltazero |
numeric vector, event/censoring indicators for the primary outcome in the control group. |
t |
time of interest for treatment effect. |
landmark |
landmark time of interest, |
std |
TRUE or FALSE; indicates whether standard error estimates should be provided, default is FALSE. Estimates are calculated using perturbation-resampling. Two versions are provided: one that takes the standard deviation of the perturbed estimates (denoted as "sd") and one that takes the median absolute deviation (denoted as "mad"). |
conf.int |
TRUE or FALSE; indicates whether 95% confidence intervals should be provided. Confidence intervals are calculated using the percentiles of perturbed estimates, default is FALSE. If this is TRUE, standard error estimates are automatically provided. |
weight.perturb |
weights used for perturbation resampling. |
Let G \in \{1,0\}
be the randomized treatment indicator, T
denote the time of the primary outcome of interest, and S
denote the time of the surrogate outcome. We use potential outcomes notation such that T^{(G)}
and S^{(G)}
denote the respective times of the primary and surrogate outcomes under treatment G, for G \in \{1, 0\}
. In the absence of censoring, we only observe (T, S)=(T^{(1)}, S^{(1)})
or (T^{(0)}, S^{(0)})
for each individual depending on whether G=1
or 0
. Due to censoring, data consist of n = n_1 + n_0
independent observations \{X_{gi}, \delta_{gi}, I(S_{gi}< t_0)I(X_{gi} > t_0), S_{gi}\wedge t_0 I(X_{gi} > t_0), i=1,...,n_g, g = 1,0\}
, where X_{gi} = T_{gi}\wedge C_{ gi}
, \delta_{gi} = I(T_{gi} < C_{gi})
, C_{gi}
denotes the censoring time, T_{gi}
denotes the time of the primary outcome, S_{gi}
denotes the time of the surrogate outcome, \{(T_{gi}, C_{gi}, S_{gi}), i = 1, ..., n_g\}
are identically distributed within treatment group, and t_0
is the landmark time of interest.
The proportion of treatment effect explained by primary outcome information observed up to the landmark time, t_0
, is defined as R_T(t, t_0) = 1-\Delta_T(t,t_0) / \Delta(t)
where
\Delta_T(t,t_0) = P(T^{(0)} > t_0) E\{T^{(1)} \wedge t - T^{(0)} \wedge t \mid T > t_0 \}
and \Delta(t)
is the treatment effect on the primary outcome, defined in the documentation for delta.estimate. The quantity \Delta_T(t,t_0)
is estimated using
\hat{\Delta}_T(t,t_0) = n_0^{-1} \sum_{i=1}^{n_0} I(X_{0i} > t_0) /\hat{W}_0^C(t_0) \{\hat{\nu}_{1}(t|t_0) - \hat{\nu}_{0}(t|t_0) \}
where \hat{W}^C_0(t)
is the Kaplan-Meier estimator of P(C_{gi} \ge t)
, \hat{\nu}_{0}(t|t_0)
is defined in the documentation for R.q.event and \hat{\nu}_{1}(t|t_0)
is obtained by replacing 0
with 1
.
A list is returned:
delta |
the estimate, |
delta.t |
the estimate, |
R.t |
the estimate, |
delta.sd |
the standard error estimate of |
delta.mad |
the standard error estimate of |
delta.t.sd |
the standard error estimate of |
delta.t.mad |
the standard error estimate of |
R.t.sd |
the standard error estimate of |
R.t.mad |
the standard error estimate of |
conf.int.delta |
a vector of size 2; the 95% confidence interval for |
conf.int.delta.t |
a vector of size 2; the 95% confidence interval for |
conf.int.R.t |
a vector of size 2; the 95% confidence interval for |
Layla Parast
Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.
data(ExampleData)
names(ExampleData)
R.t.estimate(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone =ExampleData$delta1,
deltazero = ExampleData$delta0, t = 5, landmark=2)
R.t.estimate(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1,
deltazero = ExampleData$delta0, t = 5, landmark=2, std = TRUE, conf.int = TRUE)