Package 'SurrogateOutcome'

Title: Estimation of the Proportion of Treatment Effect Explained by Surrogate Outcome Information
Description: Provides functions to estimate the proportion of treatment effect on a censored primary outcome that is explained by the treatment effect on a censored surrogate outcome/event. All methods are described in detail in Parast, Tian, Cai (2020) "Assessing the Value of a Censored Surrogate Outcome" <doi:10.1007/s10985-019-09473-1>. The main functions are (1) R.q.event() which calculates the proportion of the treatment effect (the difference in restricted mean survival time at time t) explained by surrogate outcome information observed up to a selected landmark time, (2) R.t.estimate() which calculates the proportion of the treatment effect explained by primary outcome information only observed up to a selected landmark time, and (3) IV.event() which calculates the incremental value of the surrogate outcome information.
Authors: Layla Parast
Maintainer: Layla Parast <[email protected]>
License: GPL
Version: 1.1
Built: 2025-02-24 06:04:05 UTC
Source: https://github.com/cran/SurrogateOutcome

Help Index


Estimation of the Proportion of Treatment Effect Explained by Surrogate Outcome Information

Description

Provides functions to estimate the proportion of treatment effect on a censored primary outcome that is explained by the treatment effect on a censored surrogate outcome/event. All methods are described in detail in Parast, Tian, Cai (2020) "Assessing the Value of a Censored Surrogate Outcome" <doi:10.1007/s10985-019-09473-1>. The main functions are (1) R.q.event() which calculates the proportion of the treatment effect (the difference in restricted mean survival time at time t) explained by surrogate outcome information observed up to a selected landmark time, (2) R.t.estimate() which calculates the proportion of the treatment effect explained by primary outcome information only observed up to a selected landmark time, and (3) IV.event() which calculates the incremental value of the surrogate outcome information.

Details

This package implements all methods proposed in Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265. The main functions are (1) R.q.event() which calculates the proportion of the treatment effect (the difference in restricted mean survival time at time t) explained by surrogate outcome information observed up to a selected landmark time, (2) R.t.estimate() which calculates the proportion of the treatment effect explained by primary outcome information only observed up to a selected landmark time, and (3) IV.event() which calculates the incremental value of the surrogate outcome information.

Author(s)

Layla Parast

Maintainer: Layla Parast <[email protected]>

References

Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.

Examples

data(ExampleData)
names(ExampleData)


R.q.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5, 
landmark=2, type = "np")
R.t.estimate(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, t = 5, landmark=2)
IV.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5, 
landmark=2, type = "np")
R.q.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5, 
landmark=2, type = "np", std = TRUE, conf.int = TRUE)
R.t.estimate(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, t = 5, landmark=2, std = TRUE, conf.int = TRUE)
IV.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5, 
landmark=2, type = "np", std = TRUE, conf.int = TRUE)

Estimates the treatment effect at time t, defined as the difference in the restricted mean survival time

Description

Estimates the treatment effect at time t, defined as the difference in the restricted mean survival time.

Usage

delta.estimate(xone, xzero, deltaone, deltazero, t, std = FALSE, conf.int = FALSE, 
weight.perturb = NULL)

Arguments

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.

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.

Details

Let G{1,0}G \in \{1,0\} be the randomized treatment indicator and TT denote the time of the primary outcome of interest. We use potential outcomes notation such that T(G)T^{(G)} denotes the time of the primary outcome under treatment G, for G{1,0}G \in \{1, 0\}. We define the treatment effect as the difference in restricted mean survival time up to a fixed time tt under treatment 1 versus under treatment 0,

Δ(t)=E{T(1)t}E{T(0)t}\Delta(t)=E\{T^{(1)}\wedge t\} - E\{T^{(0)}\wedge t \}

where \wedge indicates the minimum. Due to censoring, data consist of n=n1+n0n = n_1 + n_0 independent observations {Xgi,δgi,i=1,...,ng,g=1,0}\{X_{gi}, \delta_{gi}, i=1,...,n_g, g = 1,0\}, where Xgi=TgiCgiX_{gi} = T_{gi}\wedge C_{ gi}, δgi=I(Tgi<Cgi)\delta_{gi} = I(T_{gi} < C_{gi}), CgiC_{gi} denotes the censoring time, TgiT_{gi} denotes the time of the primary outcome, and {(Tgi,Cgi),i=1,...,ng}\{(T_{gi}, C_{gi}), i = 1, ..., n_g\} are identically distributed within treatment group. The quantity Δ(t)\Delta(t) is estimated using inverse probability of censoring weights:

Δ^(t)=n11i=1n1M^1i(t)n01i=1n0M^0i(t)\hat{\Delta}(t) = n_1^{-1} \sum_{i=1}^{n_1} \hat{M}_{1i}(t)- n_0^{-1} \sum_{i=1}^{n_0} \hat{M}_{0i}(t)

where M^gi(t)=I(Xgi>t)t/W^gC(t)+I(Xgi<t)Xgiδgi/W^gC(Xgi)\hat{M}_{gi}(t) = I(X_{gi} > t)t/\hat{W}^C_g(t) + I(X_{gi} < t)X_{gi}\delta_{gi}/\hat{W}^C_g(X_{gi}) and W^gC(t)\hat{W}^C_g(t) is the Kaplan-Meier estimator of P(Cgit).P(C_{gi} \ge t).

Value

A list is returned:

delta

the estimate, Δ^(t)\hat{\Delta}(t), described above.

rmst.1

the estimated restricted mean survival time in group 1, described above.

rmst.0

the estimated restricted mean survival time in group 0, described above.

delta.sd

the standard error estimate of Δ^(t)\hat{\Delta}(t); if std = TRUE or conf.int = TRUE.

delta.mad

the standard error estimate of Δ^(t)\hat{\Delta}(t) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

conf.int.delta

a vector of size 2; the 95% confidence interval for Δ^(t)\hat{\Delta}(t) based on sample quantiles of the perturbed values; if conf.int = TRUE.

Author(s)

Layla Parast

References

Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.

Tian, L, Zhao, L, & Wei, LJ (2013). Predicting the restricted mean event time with the subject's baseline covariates in survival analysis. Biostatistics, 15(2), 222-233.

Royston, P, & Parmar, MK (2011). The use of restricted mean survival time to estimate the treatment effect in randomized clinical trials when the proportional hazards assumption is in doubt. Statistics in Medicine, 30(19), 2409-2421.

Examples

data(ExampleData)
names(ExampleData)

delta.estimate(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, t = 5)


delta.estimate(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, t = 5, std = TRUE, conf.int = TRUE)

Calculates the residual treatment effect (the difference in restricted mean survival time at time t) after accounting for the treatment effect on the surrogate outcome information up to the landmark time

Description

Calculates the residual treatment effect (the difference in restricted mean survival time at time t) after accounting for the treatment effect on the surrogate outcome information up to the landmark time; uses nonparametric estimation.

Usage

delta.q.event.RMST(xone, xzero, deltaone, deltazero, sone, szero, t, weight = NULL,
 landmark = landmark, deltaslist = TRUE, transform = FALSE, extrapolate=TRUE, 
 number, warn.extrapolate=TRUE)

Arguments

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.

sone

numeric vector, observed event times for the surrogate outcome in the treatment group.

szero

numeric vector, observed event times for the surrogate outcome in the control group.

t

time of interest for treatment effect.

weight

optional weight.

landmark

landmark time of interest, t0t_0.

deltaslist

TRUE or FALSE; if TRUE, each component of the residual treatment effect is returned along with the residual treatment effect itself, if FALSE, only the residual treatment effect is returned.

transform

TRUE or FALSE; indicates whether a transformation should be used, default is FALSE.

extrapolate

TRUE or FALSE; indicates whether local constant extrapolation should be used, default is TRUE.

number

number of points for RMST calculation, default is 40.

warn.extrapolate

TRUE or FALSE; indicates whether user prefers a warning message when extrapolation is used, default is TRUE.

Details

See documentation for R.q.event for details.

Value

A list is returned:

delta.q

the estimated residual treatment effect

first.term

the first term of the residual treatment effect, if deltaslist = TRUE

second.term

the second term of the residual treatment effect, if deltaslist = TRUE

third.term

the third term of the residual treatment effect, if deltaslist = TRUE

Author(s)

Layla Parast

References

Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.

Examples

data(ExampleData)
names(ExampleData)

delta.q.event.RMST(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5, landmark=2, 
number = 40)
delta.q.event.RMST(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 4, landmark=2, 
number = 40)

Calculates the residual treatment effect (the difference in restricted mean survival time at time t) after accounting for the treatment effect on the surrogate outcome information up to the landmark time

Description

Calculates the residual treatment effect (the difference in restricted mean survival time at time t) after accounting for the treatment effect on the surrogate outcome information up to the landmark time; uses semi-parametric estimation.

Usage

delta.q.event.semi.RMST(xone, xzero, deltaone, deltazero, sone, szero, t, 
weight = NULL, landmark = landmark, deltaslist = TRUE, number)

Arguments

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.

sone

numeric vector, observed event times for the surrogate outcome in the treatment group.

szero

numeric vector, observed event times for the surrogate outcome in the control group.

t

time of interest for treatment effect.

weight

optional weight.

landmark

landmark time of interest, t0t_0.

deltaslist

TRUE or FALSE; if TRUE, each component of the residual treatment effect is returned along with the residual treatment effect itself, if FALSE, only the residual treatment effect is returned.

number

number of points for RMST calculation, default is 40.

Details

See documentation for R.q.event for details.

Value

A list is returned:

delta.q

the estimated residual treatment effect

first.term

the first term of the residual treatment effect, if deltaslist = TRUE

second.term

the second term of the residual treatment effect, if deltaslist = TRUE

third.term

the third term of the residual treatment effect, if deltaslist = TRUE

Author(s)

Layla Parast

References

Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.

Examples

data(ExampleData)
names(ExampleData)

delta.q.event.semi.RMST(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = 
ExampleData$delta1, deltazero = ExampleData$delta0, sone = ExampleData$s1, 
szero = ExampleData$s0, t = 5, landmark=2, number = 40)
delta.q.event.semi.RMST(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = 
ExampleData$delta1, deltazero = ExampleData$delta0, sone = ExampleData$s1, 
szero = ExampleData$s0, t = 3, landmark=2, number = 40)

Calculates the residual treatment effect (the difference in restricted mean survival time at time t) after accounting for the treatment effect on the primary outcome up to the landmark time

Description

Calculates the residual treatment effect (the difference in restricted mean survival time at time t) after accounting for the treatment effect on the primary outcome up to the landmark time

Usage

delta.t.RMST(xone, xzero, deltaone, deltazero, t, weight = NULL, landmark = landmark)

Arguments

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.

weight

optional weight.

landmark

landmark time of interest, t0t_0.

Details

See documentation for R.t.estimate for details.

Value

delta.t

the estimated residual treatment effect after accounting for the treatment effect on the primary outcome up to the landmark time

Author(s)

Layla Parast

References

Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.

Examples

data(ExampleData)
names(ExampleData)
delta.t.RMST(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, t = 5, landmark=2)

Hypothetical data

Description

Hypothetical data to be used in examples; t=5 and the landmark time = 2.

Usage

data(ExampleData)

Format

A list with 6 elements representing 1000 observations from a control group and 1000 observations from a treatment group:

s1

Time of the occurrence of the surrogate outcome for treated observations.

x1

The observed event or censoring time for treated observations; X = min(T, C) where T is the time of the primary outcome and C is the censoring time.

delta1

The indicator identifying whether the treated observation was observed to have the event or was censored; D =1*(T<C) where T is the time of the primary outcome and C is the censoring time.

s0

Time of the occurrence of the surrogate outcome for control observations.

x0

The observed event or censoring time for control observations; X = min(T, C) where T is the time of the primary outcome and C is the censoring time.

delta0

The indicator identifying whether the control observation was observed to have the event or was censored; D =1*(T<C) where T is the time of the primary outcome and C is the censoring time.

Details

Note that the time of the surrogate outcome is used in all functions only if the surrogate outcome occurs before the minimum of the event time and censoring time.

Examples

data(ExampleData)
names(ExampleData)

Calculates the incremental value of the surrogate outcome information

Description

Calculates the incremental value of the surrogate outcome information

Usage

IV.event(xone, xzero, deltaone, deltazero, sone, szero, t, landmark, number = 40, 
transform = FALSE, extrapolate = TRUE, std = FALSE, conf.int = FALSE, 
weight.perturb = NULL, type = "np")

Arguments

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.

sone

numeric vector, observed event times for the surrogate outcome in the treatment group.

szero

numeric vector, observed event times for the surrogate outcome in the control group.

t

time of interest for treatment effect.

landmark

landmark time of interest, t0t_0.

number

number of points for RMST calculation, default is 40.

transform

TRUE or FALSE; indicates whether a transformation should be used, default is FALSE.

extrapolate

TRUE or FALSE; indicates whether local constant extrapolation should be used, default is FALSE.

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.

type

Type of estimate that should be provided; options are "np" for the nonparametric estimate or "semi" for the semiparametric estimate, default is "np".

Details

The incremental value of the surrogate outcome information only is quantified as IVS(t,t0)=RQ(t,t0)RT(t,t0)IV_S(t,t_0) = R_Q(t,t_0) - R_T(t,t_0) where the definition and estimation procedures for RQ(t,t0)R_Q(t,t_0) and RT(t,t0)R_T(t,t_0) are described in the documentation for R.q.event and R.t.estimate, respectively. The estimate of the incremental value is IV^S(t,t0)=R^Q(t,t0)R^T(t,t0)\hat{IV}_S(t,t_0) = \hat{R}_Q(t,t_0) - \hat{R}_T(t,t_0).

Value

A list is returned:

delta

the estimate, Δ^(t)\hat{\Delta}(t), described in delta.estimate documentation.

delta.q

the estimate, Δ^Q(t,t0)\hat{\Delta}_Q(t,t_0), described in R.q.event documention.

R.q

the estimate, R^Q(t,t0)\hat{R}_Q(t,t_0), described in R.q.event documention.

delta.t

the estimate, Δ^T(t,t0)\hat{\Delta}_T(t,t_0), described in R.t.estimate documention.

R.t

the estimate, R^T(t,t0)\hat{R}_T(t,t_0), described in R.t.estimate documention.

IV

the estimated incremental value of the surrogate outcome information, described above.

delta.sd

the standard error estimate of Δ^(t)\hat{\Delta}(t); if std = TRUE or conf.int = TRUE.

delta.mad

the standard error estimate of Δ^(t)\hat{\Delta}(t) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

delta.q.sd

the standard error estimate of Δ^Q(t,t0)\hat{\Delta}_Q(t,t_0); if std = TRUE or conf.int = TRUE.

delta.q.mad

the standard error estimate of Δ^Q(t,t0)\hat{\Delta}_Q(t,t_0) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

R.q.sd

the standard error estimate of R^Q(t,t0)\hat{R}_Q(t,t_0); if std = TRUE or conf.int = TRUE.

R.q.mad

the standard error estimate of R^Q(t,t0)\hat{R}_Q(t,t_0) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

delta.t.sd

the standard error estimate of Δ^T(t,t0)\hat{\Delta}_T(t,t_0); if std = TRUE or conf.int = TRUE.

delta.t.mad

the standard error estimate of Δ^T(t,t0)\hat{\Delta}_T(t,t_0) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

R.t.sd

the standard error estimate of R^T(t,t0)\hat{R}_T(t,t_0); if std = TRUE or conf.int = TRUE.

R.t.mad

the standard error estimate of R^T(t,t0)\hat{R}_T(t,t_0) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

IV.sd

the standard error estimate of the incremental value; if std = TRUE or conf.int = TRUE.

IV.mad

the standard error estimate of the incremental value using the median absolute deviation; if std = TRUE or conf.int = TRUE.

conf.int.delta

a vector of size 2; the 95% confidence interval for Δ^(t)\hat{\Delta}(t) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.delta.q

a vector of size 2; the 95% confidence interval for Δ^Q(t,t0)\hat{\Delta}_Q(t,t_0) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.R.q

a vector of size 2; the 95% confidence interval for R^Q(t,t0)\hat{R}_Q(t,t_0) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.delta.t

a vector of size 2; the 95% confidence interval for Δ^T(t,t0)\hat{\Delta}_T(t,t_0) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.R.t

a vector of size 2; the 95% confidence interval for R^T(t,t0)\hat{R}_T(t,t_0) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.IV

a vector of size 2; the 95% confidence interval for the incremental value based on sample quantiles of the perturbed values; if conf.int = TRUE.

Author(s)

Layla Parast

References

Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.

Examples

data(ExampleData)
names(ExampleData)


IV.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5,
 landmark=2, type = "np")

IV.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5,
 landmark=2, type = "np", std = TRUE, conf.int = TRUE)

Calculates the proportion of the treatment effect (the difference in restriced mean survival time at time t) explained by surrogate outcome information observed up to the landmark time

Description

Calculates the proportion of the treatment effect (the difference in restriced mean survival time at time t) explained by surrogate outcome information observed up to the landmark time; also provides standard error estimate and confidence interval.

Usage

R.q.event(xone, xzero, deltaone, deltazero, sone, szero, t, landmark, number = 40, 
transform = FALSE, extrapolate = TRUE, std = FALSE, conf.int = FALSE, 
weight.perturb = NULL, type = "np")

Arguments

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.

sone

numeric vector, observed event times for the surrogate outcome in the treatment group.

szero

numeric vector, observed event times for the surrogate outcome in the control group.

t

time of interest for treatment effect.

landmark

landmark time of interest, t0t_0.

number

number of points for RMST calculation, default is 40.

transform

TRUE or FALSE; indicates whether a transformation should be used, default is FALSE.

extrapolate

TRUE or FALSE; indicates whether local constant extrapolation should be used, default is FALSE.

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.

type

Type of estimate that should be provided; options are "np" for the nonparametric estimate or "semi" for the semiparametric estimate, default is "np".

Details

Let G{1,0}G \in \{1,0\} be the randomized treatment indicator, TT denote the time of the primary outcome of interest, and SS denote the time of the surrogate outcome. We use potential outcomes notation such that T(G)T^{(G)} and S(G)S^{(G)} denote the respective times of the primary and surrogate outcomes under treatment G, for G{1,0}G \in \{1, 0\}. In the absence of censoring, we only observe (T,S)=(T(1),S(1))(T, S)=(T^{(1)}, S^{(1)}) or (T(0),S(0))(T^{(0)}, S^{(0)}) for each individual depending on whether G=1G=1 or 00. Due to censoring, data consist of n=n1+n0n = n_1 + n_0 independent observations {Xgi,δgi,I(Sgi<t0)I(Xgi>t0),Sgit0I(Xgi>t0),i=1,...,ng,g=1,0}\{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 Xgi=TgiCgiX_{gi} = T_{gi}\wedge C_{ gi}, δgi=I(Tgi<Cgi)\delta_{gi} = I(T_{gi} < C_{gi}), CgiC_{gi} denotes the censoring time, TgiT_{gi} denotes the time of the primary outcome, SgiS_{gi} denotes the time of the surrogate outcome, {(Tgi,Cgi,Sgi),i=1,...,ng}\{(T_{gi}, C_{gi}, S_{gi}), i = 1, ..., n_g\} are identically distributed within treatment group, and t0t_0 is the landmark time of interest.

We define the treatment effect as the difference in restricted mean survival time up to a fixed time tt under treatment 1 versus under treatment 0,

Δ(t)=E{T(1)t}E{T(0)t}\Delta(t)=E\{T^{(1)}\wedge t\} - E\{T^{(0)}\wedge t \}

where \wedge indicates the minimum. To define the proportion of treatment effect explained by the surrogate outcome information, let

Qt0(g)=(Qt01,Qt02)={S(g)t0I(T(g)>t0),T(g)I(T(g)t0)},g=1,0Q_{t_0} ^{(g)} = (Q_{t_01}, Q_{t_02})'=\{S ^{(g)} \wedge t_0I(T ^{(g)} > t_0), T^{(g)} I(T^{(g)} \le t_0)\}', g=1, 0

and define the residual treatment effect after accounting for the treatment effect on the surrogate outcome information as:

ΔQ(t,t0)=Pt0,2(0)0t0ϕ1(tt0,s)dF0(s)+Pt0,3(0)ψ1(tt0)P(T(0)>t0)ν0(tt0)\Delta_Q(t,t_0) = P ^{(0)}_{t_0,2}\int_0^{t_0} \phi_1(t|t_0,s)dF_0(s) + P^{(0)}_{t_0,3}\psi_1(t|t_0) - P(T ^{(0)}> t_0) \nu_0(t|t_0)

where Pt0,2(0)=P(T(0)>t0,S(0)<t0)P^{(0)}_{t_0,2} = P(T^{(0)} > {t_0}, S ^{(0)} < t_0) and Pt0,3(0)=P(T(0)>t0,S(0)>t0)P^{(0)}_{t_0,3} = P(T^{(0)} > {t_0}, S ^{(0)} > t_0), ψ1(tt0)=E(T(1)tT(1)>t0,S(1)>t0)\psi_1(t \mid t_0) = E(T^{(1)}\wedge t \mid T^{(1)}> t_0, S^{(1)} > t_0), ϕ1(tt0,s)=E(T(1)tT(1)>t0,S(1)=s),ν0(tt0)=E(T(0)tT(0)>t0)\phi_1(t\mid t_0,s) = E(T^{(1)}\wedge t \mid T ^{(1)}> t_0, S ^{(1)} = s), \quad \nu_0(t|t_0) = E(T ^{(0)} \wedge t | T ^{(0)}> t_0), and F0(t0)F_0(\cdot\mid t_0) is the cumulative distribution function of S(0)S^{(0)} conditional on T(0)>t0T ^{(0)}> t_0 and S(0)<t0S ^{(0)} < t_0. Then, the proportion of treatment effect on the primary outcome that is explained by surrogate information up to t0t_0, Qt0Q_{t_0}, can be expressed as a contrast between Δ(t)\Delta(t) and ΔQ(t,t0)\Delta_Q(t,t_0):

RQ(t,t0)={Δ(t)ΔQ(t,t0)}/Δ(t)=1ΔQ(t,t0)/Δ(t).R_Q(t,t_0) = \{\Delta(t) - \Delta_Q(t,t_0) \} / \Delta(t) = 1- \Delta_Q(t,t_0) / \Delta(t).

The quantity Δ(t)\Delta(t) is estimated using inverse probability of censoring weights:

Δ^(t)=n11i=1n1M^1i(t)n01i=1n0M^0i(t)\hat{\Delta}(t) = n_1^{-1} \sum_{i=1}^{n_1} \hat{M}_{1i}(t)- n_0^{-1} \sum_{i=1}^{n_0} \hat{M}_{0i}(t)

where M^gi(t)=I(Xgi>t)t/W^gC(t)+I(Xgi<t)Xgiδgi/W^gC(Xgi)\hat{M}_{gi}(t) = I(X_{gi} > t)t/\hat{W}^C_g(t) + I(X_{gi} < t)X_{gi}\delta_{gi}/\hat{W}^C_g(X_{gi}) and W^gC(t)\hat{W}^C_g(t) is the Kaplan-Meier estimator of P(Cgit).P(C_{gi} \ge t). The residual treatment effect ΔQ(t,t0)\Delta_Q(t,t_0) can be estimated nonparametrically or semi-parametrically. For nonparametric estimation, ψ1(tt0)\psi_{1}(t|t_0) is estimated by ψ^1(tt0)=i=1n1W^1C(t0)I(S1i>t0,X1i>t0)i=1n1I(S1i>t0,X1i>t0)M^1i(t)\hat{\psi}_{1}(t|t_0) = \sum_{i=1}^{n_1}\frac{ { \hat{W}^C_1(t_0)} I(S_{1i}>t_0, X_{1i} > t_0) }{ \sum_{i=1}^{n_1}I(S_{1i}>t_0, X_{1i} > t_0)} \hat{M}_{1i}(t), and ϕ1(tt0,s)=E(T(1)tX(1)>t0,S(1)=s)\phi_1(t \mid t_0,s) = E(T^{(1)}\wedge t\mid X^{(1)}> t_0, S ^{(1)} = s) is estimated using a nonparametric kernel Nelson-Aalen estimator for Λ1(tt0,s),\Lambda_1(t\mid t_0,s ), the cumulative hazard function of T(1)T^{(1)} conditional on S(1)=sS^{(1)}=s and T(1)>t0,T^{(1)}>t_0, as

ϕ^1(tt0,s)=t0+t0texp{Λ^1(tt0,s)}dt,\hat \phi_1(t \mid t_0,s) = t_0+\int_ {t_0}^t \exp\{-\hat{\Lambda}_1(t\mid t_0,s) \}dt,

where

Λ^1(tt0,s)=t0ti=1n1I(X1i>t0,S1i<t0)Kh{γ(S1i)γ(s)}dN1i(z)i=1n1I(X1i>t0,S1i<t0)Kh{γ(S1i)γ(s)}Y1i(z),\hat{\Lambda}_1(t\mid t_0,s) = \int_{t_0}^t \frac{\sum_{i=1}^{n_1} I(X_{1i}>t_0, {S_{1i} < t_0}) K_h\{\gamma(S_{1i}) - \gamma(s)\}dN_{1i}(z)}{\sum_{i=1}^{n_1} I(X_{1i}>t_0, {S_{1i} < t_0}) K_h\{\gamma(S_{1i}) - \gamma(s)\} Y_{1i}(z)},

is a consistent estimate of Λ1(tt0,s),\Lambda_1(t\mid t_0,s ), Y1i(t)=I(X1it)Y_{1i}(t) = I(X_{1i} \geq t), N1i(t)=I(X1it)δi,K()N_{1i}(t) = I(X_{1i} \leq t) \delta_i, K(\cdot) is a smooth symmetric density function, Kh(x)=K(x/h)/hK_h(x) = K(x/h)/h, γ()\gamma(\cdot) is a given monotone transformation function, and h=O(n1η)h=O(n_1^{-\eta}) is a specified bandwidth with η(1/2,1/4)\eta \in (1/2,1/4). Finally, we let

ν^0(tt0)=i=1n0W^0C(t0)I(X0i>t0)i=1n0I(X0i>t0)M^0i(t).\hat{\nu}_{0}(t|t_0) = \sum_{i=1}^{n_0}\frac{ {\hat{W}^C_0(t_0)}I(X_{0i} > t_0) }{ \sum_{i=1}^{n_0}I(X_{0i} > t_0)} \hat{M}_{0i}(t).

We then estimate ΔQ(t,t0)\Delta_{Q}(t,t_0) as Δ^Q(t,t0)\hat{\Delta}_{Q}(t,t_0) defined as

n01i=1n0{It0,2(X0i,S0i)ϕ^1(tt0,S0i)+It0,3(X0i,S0i)ψ^1(tt0)It0(X0i)ν^(tt0)W^0C(t0)}n_0^{-1} \sum_{i=1}^{n_0} \left \{ \frac{I_{t_0,2}(X_{0i}, S_{0i})\hat{\phi}_1(t\mid t_0, S_{0i}) + I_{t_0,3}(X_{0i}, S_{0i})\hat{\psi}_1(t\mid t_0) - I_{t_0}(X_{0i})\hat{\nu}(t|t_0) }{\hat{W}^C_0(t_0)} \right \}

where It0,2(x,s)=I(x>t0,s<t0)I_{t_0,2}(x, s) = I(x > {t_0}, s < t_0) and It0,3(x,s)=I(x>t0,s>t0)I_{t_0,3}(x, s) = I(x > {t_0}, s > t_0) and It0(x)=I(x>t0)I_{t_0}(x)=I(x > {t_0}) and thus, R^Q(t,t0)=1Δ^Q(t,t0)/Δ^(t).\hat{R}_Q(t,t_0) =1- \hat{\Delta}_Q(t,t_0)/\hat{\Delta}(t).

For the semi-parametric estimate, ϕ^1(tt0,s)\hat \phi_1(t| t_0,s) is replaced with an estimate obtained using a landmark Cox proportional hazards model

P(T(1)>tT(1)>t0,S(1)<t0,S(1))=exp{Λ0(tt0)exp(β0S(1))}P(T^{(1)}> t\mid T^{(1)}> t_0, S^{(1)} < t_0, S ^{(1)}) = \exp \{ -\Lambda_0(t|t_0)\exp(\beta_0S ^{(1)})\}

where Λ0(tt0)\Lambda_0(t|t_0) is the unspecified baseline cumulative hazard among Ωt0={T(1)>t0,S(1)<t0}\Omega_{t_0} = \{T^{(1)}> t_0, S^{(1)} < t_0\} and β0\beta_0 is unknown. That is, let ϕ~1(tt0,s)=t0+t0texp{Λ^0(tt0)exp(β^s)}dt,\tilde \phi_1(t| t_0,s) = t_0+\int_{t_0}^{t}\exp \{ -\hat{\Lambda}_0(t|t_0)\exp(\hat{\beta}s)\} dt, where β^\hat{\beta} is estimated by fitting a Cox model to the subpopulation Ωt0\Omega_{t_0} with a single predictor SS and Λ^0(t0)\hat{\Lambda}_0(\cdot|t_0) is the corresponding Breslow estimator. Then the semiparametric estimator for ΔQ(t,t0)\Delta_{Q}(t,t_0) is Δ~Q(t,t0)\tilde{\Delta}_{Q}(t,t_0) defined as

n01i=1n0{It0,2(X0i,S0i)ϕ~1(tt0,S0i)+It0,3(X0i,S0i)ψ^1(tt0)It0(X0i)ν^(tt0)W^0C(t0)}n_0^{-1} \sum_{i=1}^{n_0} \left \{ \frac{I_{t_0,2}(X_{0i}, S_{0i})\tilde{\phi}_1(t\mid t_0, S_{0i}) + I_{t_0,3}(X_{0i}, S_{0i})\hat{\psi}_1(t\mid t_0) - I_{t_0}(X_{0i})\hat{\nu}(t|t_0) }{\hat{W}^C_0(t_0)} \right \}

and R~Q(t,t0)=1Δ~Q(t,t0)/Δ^(t).\tilde{R}_Q(t,t_0) =1- \tilde{\Delta}_Q(t,t_0)/\hat{\Delta}(t).

Value

A list is returned:

delta

the estimate, Δ^(t)\hat{\Delta}(t), described in delta.estimate documentation.

delta.q

the estimate, Δ^Q(t,t0)\hat{\Delta}_Q(t,t_0), described above.

R.q

the estimate, R^Q(t,t0)\hat{R}_Q(t,t_0), described above.

delta.sd

the standard error estimate of Δ^(t)\hat{\Delta}(t); if std = TRUE or conf.int = TRUE.

delta.mad

the standard error estimate of Δ^(t)\hat{\Delta}(t) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

delta.q.sd

the standard error estimate of Δ^Q(t,t0)\hat{\Delta}_Q(t,t_0); if std = TRUE or conf.int = TRUE.

delta.q.mad

the standard error estimate of Δ^Q(t,t0)\hat{\Delta}_Q(t,t_0) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

R.q.sd

the standard error estimate of R^Q(t,t0)\hat{R}_Q(t,t_0); if std = TRUE or conf.int = TRUE.

R.q.mad

the standard error estimate of R^Q(t,t0)\hat{R}_Q(t,t_0) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

conf.int.delta

a vector of size 2; the 95% confidence interval for Δ^(t)\hat{\Delta}(t) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.delta.q

a vector of size 2; the 95% confidence interval for Δ^Q(t,t0)\hat{\Delta}_Q(t,t_0) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.R.q

a vector of size 2; the 95% confidence interval for R^Q(t,t0)\hat{R}_Q(t,t_0) based on sample quantiles of the perturbed values; if conf.int = TRUE.

Author(s)

Layla Parast

References

Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.

Parast, L and Cai, T (2013). Landmark risk prediction of residual life for breast cancer survival. Statistics in Medicine, 32(20), 3459-3471.

Examples

data(ExampleData)
names(ExampleData)


R.q.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5, 
landmark=2, type = "np")
R.q.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5, 
landmark=2, type = "semi")
R.q.event(xone = ExampleData$x1, xzero = ExampleData$x0, deltaone = ExampleData$delta1, 
deltazero = ExampleData$delta0, sone = ExampleData$s1, szero = ExampleData$s0, t = 5, 
landmark=2, type = "np", std = TRUE, conf.int = TRUE)

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

Description

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.

Usage

R.t.estimate(xone, xzero, deltaone, deltazero, t, landmark, std = FALSE, conf.int
 = FALSE, weight.perturb = NULL)

Arguments

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, t0t_0.

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.

Details

Let G{1,0}G \in \{1,0\} be the randomized treatment indicator, TT denote the time of the primary outcome of interest, and SS denote the time of the surrogate outcome. We use potential outcomes notation such that T(G)T^{(G)} and S(G)S^{(G)} denote the respective times of the primary and surrogate outcomes under treatment G, for G{1,0}G \in \{1, 0\}. In the absence of censoring, we only observe (T,S)=(T(1),S(1))(T, S)=(T^{(1)}, S^{(1)}) or (T(0),S(0))(T^{(0)}, S^{(0)}) for each individual depending on whether G=1G=1 or 00. Due to censoring, data consist of n=n1+n0n = n_1 + n_0 independent observations {Xgi,δgi,I(Sgi<t0)I(Xgi>t0),Sgit0I(Xgi>t0),i=1,...,ng,g=1,0}\{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 Xgi=TgiCgiX_{gi} = T_{gi}\wedge C_{ gi}, δgi=I(Tgi<Cgi)\delta_{gi} = I(T_{gi} < C_{gi}), CgiC_{gi} denotes the censoring time, TgiT_{gi} denotes the time of the primary outcome, SgiS_{gi} denotes the time of the surrogate outcome, {(Tgi,Cgi,Sgi),i=1,...,ng}\{(T_{gi}, C_{gi}, S_{gi}), i = 1, ..., n_g\} are identically distributed within treatment group, and t0t_0 is the landmark time of interest.

The proportion of treatment effect explained by primary outcome information observed up to the landmark time, t0t_0, is defined as RT(t,t0)=1ΔT(t,t0)/Δ(t)R_T(t, t_0) = 1-\Delta_T(t,t_0) / \Delta(t) where

ΔT(t,t0)=P(T(0)>t0)E{T(1)tT(0)tT>t0}\Delta_T(t,t_0) = P(T^{(0)} > t_0) E\{T^{(1)} \wedge t - T^{(0)} \wedge t \mid T > t_0 \}

and Δ(t)\Delta(t) is the treatment effect on the primary outcome, defined in the documentation for delta.estimate. The quantity ΔT(t,t0)\Delta_T(t,t_0) is estimated using

Δ^T(t,t0)=n01i=1n0I(X0i>t0)/W^0C(t0){ν^1(tt0)ν^0(tt0)}\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 W^0C(t)\hat{W}^C_0(t) is the Kaplan-Meier estimator of P(Cgit)P(C_{gi} \ge t), ν^0(tt0)\hat{\nu}_{0}(t|t_0) is defined in the documentation for R.q.event and ν^1(tt0)\hat{\nu}_{1}(t|t_0) is obtained by replacing 00 with 11.

Value

A list is returned:

delta

the estimate, Δ^(t)\hat{\Delta}(t), described in delta.estimate documentation.

delta.t

the estimate, Δ^T(t,t0)\hat{\Delta}_T(t,t_0), described above.

R.t

the estimate, R^T(t,t0)\hat{R}_T(t,t_0), described above.

delta.sd

the standard error estimate of Δ^(t)\hat{\Delta}(t); if std = TRUE or conf.int = TRUE.

delta.mad

the standard error estimate of Δ^(t)\hat{\Delta}(t) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

delta.t.sd

the standard error estimate of Δ^T(t,t0)\hat{\Delta}_T(t,t_0); if std = TRUE or conf.int = TRUE.

delta.t.mad

the standard error estimate of Δ^T(t,t0)\hat{\Delta}_T(t,t_0) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

R.t.sd

the standard error estimate of R^T(t,t0)\hat{R}_T(t,t_0); if std = TRUE or conf.int = TRUE.

R.t.mad

the standard error estimate of R^T(t,t0)\hat{R}_T(t,t_0) using the median absolute deviation; if std = TRUE or conf.int = TRUE.

conf.int.delta

a vector of size 2; the 95% confidence interval for Δ^(t)\hat{\Delta}(t) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.delta.t

a vector of size 2; the 95% confidence interval for Δ^T(t,t0)\hat{\Delta}_T(t,t_0) based on sample quantiles of the perturbed values; if conf.int = TRUE.

conf.int.R.t

a vector of size 2; the 95% confidence interval for R^T(t,t0)\hat{R}_T(t,t_0) based on sample quantiles of the perturbed values; if conf.int = TRUE.

Author(s)

Layla Parast

References

Parast L, Tian L, and Cai T (2020). Assessing the Value of a Censored Surrogate Outcome. Lifetime Data Analysis, 26(2):245-265.

Examples

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)