[R] UnoC function in survAUC for censoring-adjusted C-index

Eleni Rapsomaniki er339 at medschl.cam.ac.uk
Fri Jun 24 12:07:37 CEST 2011


Hello,

I am having some trouble with the 'censoring-adjusted C-index' by Uno et al, in the package survAUC. The relevant function is UnoC.
The question has to do with what happens when I specify a time point t for the upper limit of the time range under consideration (we want to avoid using the right-end tail of the KM curve).

Copying from the example in the help file:

TR <- ovarian[1:16,]
TE <- ovarian[17:26,]
train.fit  <- coxph(Surv(futime, fustat) ~ age,x=TRUE, y=TRUE, method="breslow", data=TR)
lpnew <- predict(train.fit, newdata=TE)
Surv.rsp <- Surv(TR$futime, TR$fustat)
Surv.rsp.new <- Surv(TE$futime, TE$fustat)              

If time is left NULL, the maximum futime in the TE data is assumed:
UnoC(Surv.rsp, Surv.rsp.new, lpnew, time=NULL)
#same as 
UnoC(Surv.rsp, Surv.rsp.new, lpnew, time=max(Surv.rsp.new[,1]))

#which incidentally is the same as what one gets with the usual C-index function that also extends to the max event time.
survConcordance(Surv.rsp.new ~ lpnew)$conc

Now, if I specify a range times 'tau' (as in Table III of the relevant publication) I still get the same C for each timepoint:

tau <- Surv.rsp.new[, 1]
> tau 
 [1] 1040 1106 1129 1206 1227  268  329  353  365  377

UnoC(Surv.rsp, Surv.rsp.new, lpnew, time=tau)

 [1] 0.7333333 0.7333333 0.7333333 0.7333333 0.7333333 0.7333333 0.7333333 0.7333333 0.7333333 0.7333333

#even worse, if I sort tau in ascending times I get 0's
UnoC(Surv.rsp, Surv.rsp.new, lpnew, time=sort(tau))
 [1] 0 0 0 0 0 0 0 0 0 0 

This is a potentially very useful function so it would be great if someone could explain the behaviour here.

Many thanks

Eleni Rapsomaniki

Research Associate/Statistician
Strangeways Research Laboratory
Department of Public Health and Primary Care

University of Cambridge
 



More information about the R-help mailing list