Description Usage Arguments Details Value Author(s) References Examples
This function performs the characteristics of a net time-dependent ROC curve (Lorent, 2013) based on k-nearest neighbor's (knn) estimator or only based on the Pohar-Perme estimator (Pohar, 2012).
1 2 3 |
times |
A numeric vector with the follow up times. |
failures |
A numeric vector with the event indicator (0=right censored, 1=event). |
variable |
A numeric vector with the prognostic variable. This variable is collected at the baseline. |
p.age |
A numeric vector with the age of the individuals at the baseline (in days). |
p.sex |
A character vector with the gender the individuals ('male' or 'female'). |
p.year |
A numeric vector with the calendar year at the baseline (number of days from the January 1, 1960). |
rate.table |
A rate-table object with the expected mortality rates by age, sex, and cohort year. The same units used in |
pro.time |
The value of prognostic time represents the maximum delay for which the capacity of the variable is evaluated. The same unit than the one used in the argument |
cut.off |
The cut-off values of the variable used to define the possible binary tests. |
knn |
A logical value indicating whether k-nearest neighbor's estimator should be used. |
prop |
This is the proportion of the nearest neighbors. The estimation will be based on 2*prop (both right and left proportions) of the total sample size. |
This function computes net time-dependent ROC curve with right-censored data using estimator defined by Pohar-Perm et al. (2012) and the k-nearest neighbor's (knn) estimator. The aim is to evaluate the capacity of a variable (measured at the baseline) to predict the excess of mortality of a studied population compared to the general population mortality. Using the knn estimator ensures a monotone and increasing ROC curve, but the computation time may be long. This approach may thus be avoided if the sample size is large because of computing time.
table |
This data frame presents the sensitivities and specificities associated with the cut-off values. One can observe NA if the value cannot be computed. |
auc |
The area under the time-dependent ROC curve for a prognostic up to prognostic time. |
missing |
Number of deleted observations due to missing data. |
warning |
This message indicates possible difficulties in the computation of the net ROC curve, for instance if the net survival was not lower or equal1 to 1 for particular cut-off values or times. |
Y. Foucher <Yohann.Foucher@univ-nantes.fr>
Pohar M., Stare J., Esteve J. (2012) On Estimation in Relative Survival. Biometrics, 68, 113-120. <doi:10.1111/ j.1541-0420.2011.01640.x>
Lorent M., Giral M., Foucher Y. (2013) Net time-dependent ROC curves: a solution for evaluating the accuracy of a marker to predict disease-related mortality. Statistics in Medicine, 33, 2379-89. <doi:10.1002/sim.6079>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | # import the observed data
data(dataDIVAT)
# A subgroup analysis to reduce the time needed for this example
dataDIVAT <- dataDIVAT[1:400,]
# import the expected mortality rates
data(fr.ratetable)
# the values of recipient age used for computing the sensibilities and
# specificities (choose more values in practice)
age.cut <- quantile(dataDIVAT$ageR, probs=seq(0.1, 0.9, by=0.1))
# recoding of the variables for matching with the ratetable
dataDIVAT$sex <- "male"
dataDIVAT$sex[dataDIVAT$sexeR==0] <- "female"
dataDIVAT$year <- mdy.date(month=01, day=01, year=dataDIVAT$year.tx,
nineteen = TRUE, fillday = FALSE, fillmonth = FALSE)
dataDIVAT$age <- dataDIVAT$ageR*365
# the ROC curve (without correction by the knn estimator) to
# reduce the time for computing this example. In prectice, the
# correction should by used in case of non-montone results.
roc1 <- net.ROCt(times=dataDIVAT$death.time,
failures=dataDIVAT$death, variable=dataDIVAT$ageR,
p.age=dataDIVAT$age, p.sex=dataDIVAT$sex, p.year=dataDIVAT$year,
rate.table=fr.ratetable, pro.time=3000, cut.off=age.cut, knn=FALSE)
# the sensibilities and specificities associated with the cut off values
roc1$table
# the traditional ROC graph
plot(c(1,1-roc1$table$sp,0), c(1,roc1$table$se,0), ylim=c(0,1), xlim=c(0,1),
ylab="sensitivity", xlab="1-specificity", type="l", lty=1, col=2, lwd=2)
abline(c(0,0), c(1,1), lty=2)
legend("bottomright", paste("Without knn, (AUC=",
round(roc1$auc, 2), ")", sep=""),lty=1, lwd=2, col=2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.