survivalROC.C {survivalROC} | R Documentation |
Time-dependent ROC curve estimation from censored survival data
Description
This function creates time-dependent ROC curve from censored survival data using the Nearest Neighbor Estimation (NNE) method of Heagerty, Lumley and Pepe, 2000
Usage
survivalROC.C(Stime,status,marker,predict.time,span)
Arguments
Stime |
Event time or censoring time for subjects |
status |
Indicator of status, 1 if death or event, 0 otherwise |
marker |
Predictor or marker value |
predict.time |
Time point of the ROC curve |
span |
Span for the NNE |
Details
Suppose we have censored survival data along with a baseline marker value and we want to see how well the marker predicts the survival time for the subjects in the dataset. In particular, suppose we have survival times in days and we want to see how well the marker predicts the one-year survival (PredictTime=365 days). This function returns the unique marker values, sensitivity (True positive or TP), (1-specificity) (False positive or FP) and Kaplan-Meier survival estimate corresponding to the time point of interest (PredictTime). The (FP,TP) values then can be used to construct ROC curve at the time point of interest.
Value
Returns a list of the following items:
cut.values |
unique marker values for calculation of TP and FP |
TP |
TP corresponding to the cut off in marker |
FP |
FP corresponding to the cut off in marker |
predict.time |
time point of interest |
Survival |
Kaplan-Meier survival estimate at predict.time |
AUC |
Area Under (ROC) Curve at time predict.time |
Author(s)
Patrick J. Heagerty
References
Heagerty, P.J., Lumley, T., Pepe, M. S. (2000) Time-dependent ROC Curves for Censored Survival Data and a Diagnostic Marker Biometrics, 56, 337 – 344
Examples
data(mayo)
nobs <- NROW(mayo)
cutoff <- 365
Staltscore4 <- NULL
Mayo.fit4 <- survivalROC.C( Stime = mayo$time,
status = mayo$censor,
marker = mayo$mayoscore4,
predict.time = cutoff,
span = 0.25*nobs^(-0.20))
Staltscore4 <- Mayo.fit4$Survival
plot(Mayo.fit4$FP, Mayo.fit4$TP, type = "l",
xlim = c(0,1), ylim = c(0,1),
xlab = paste( "FP \n AUC =",round(Mayo.fit4$AUC,3)),
ylab = "TP",main = "Year = 1" )
abline(0,1)