survivalROC | R Documentation |
This function creates time-dependent ROC curve from censored survival data using the Kaplan-Meier (KM) or Nearest Neighbor Estimation (NNE) method of Heagerty, Lumley and Pepe, 2000
survivalROC(Stime, status, marker, entry = NULL, predict.time, cut.values = NULL, method = "NNE", lambda = NULL, span = NULL, window = "symmetric")
Stime |
Event time or censoring time for subjects |
status |
Indicator of status, 1 if death or event, 0 otherwise |
marker |
Predictor or marker value |
entry |
Entry time for the subjects |
predict.time |
Time point of the ROC curve |
cut.values |
marker values to use as a cut-off for calculation of sensitivity and specificity |
method |
Method for fitting joint distribution of (marker,t), either of KM or NNE, the default method is NNE |
lambda |
smoothing parameter for NNE |
span |
Span for the NNE, need either lambda or span for NNE |
window |
window for NNE, either of symmetric or asymmetric |
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 (predict.time=365 days). This function roc.KM.calc(), returns the unique marker values, TP (True Positive), FP (False Positive), Kaplan-Meier survival estimate corresponding to the time point of interest (predict.time) and AUC (Area Under (ROC) Curve) at the time point of interest.
Returns a list of the following items:
cut.values |
unique marker values for calculation of TP and FP |
TP |
True Positive corresponding to the cut offs in marker |
FP |
False Positive corresponding to the cut offs 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 |
Patrick J. Heagerty
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
data(mayo) nobs <- NROW(mayo) cutoff <- 365 ## MAYOSCORE 4, METHOD = NNE Mayo4.1= survivalROC(Stime=mayo$time, status=mayo$censor, marker = mayo$mayoscore4, predict.time = cutoff,span = 0.25*nobs^(-0.20) ) plot(Mayo4.1$FP, Mayo4.1$TP, type="l", xlim=c(0,1), ylim=c(0,1), xlab=paste( "FP", "\n", "AUC = ",round(Mayo4.1$AUC,3)), ylab="TP",main="Mayoscore 4, Method = NNE \n Year = 1") abline(0,1) ## MAYOSCORE 4, METHOD = KM Mayo4.2= survivalROC(Stime=mayo$time, status=mayo$censor, marker = mayo$mayoscore4, predict.time = cutoff, method="KM") plot(Mayo4.2$FP, Mayo4.2$TP, type="l", xlim=c(0,1), ylim=c(0,1), xlab=paste( "FP", "\n", "AUC = ",round(Mayo4.2$AUC,3)), ylab="TP",main="Mayoscore 4, Method = KM \n Year = 1") abline(0,1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.