Eleni Rapsomaniki
2011-Jun-24 10:07 UTC
[R] UnoC function in survAUC for censoring-adjusted C-index
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 ?
Frank Harrell
2011-Jun-24 11:26 UTC
[R] UnoC function in survAUC for censoring-adjusted C-index
Note that the original C-index is implemented in various validation options in the rms package related to the cph function (which calls coxph in survival). Frank Eleni Rapsomaniki-2 wrote:> > 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 > ? > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >----- Frank Harrell Department of Biostatistics, Vanderbilt University -- View this message in context: http://r.789695.n4.nabble.com/UnoC-function-in-survAUC-for-censoring-adjusted-C-index-tp3622181p3622289.html Sent from the R help mailing list archive at Nabble.com.
Seemingly Similar Threads
- Possible bug in summary.survfit - 'scale' argument ignored?
- How do i compute predicted failure time from a cox model?
- the output of coxph
- survreg function in survival package
- Predictions from a Cox model - understanding centering of binary/categorical variables