[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