auc {BuyseTest} | R Documentation |
Estimation of the Area Under the ROC Curve (EXPERIMENTAL)
Description
Estimation of the Area Under the ROC curve, possibly after cross validation, to assess the discriminant ability of a biomarker regarding a disease status.
Usage
auc(
labels,
predictions,
fold = NULL,
observation = NULL,
direction = ">",
add.halfNeutral = TRUE,
null = 0.5,
conf.level = 0.95,
transformation = TRUE,
order.Hprojection = 2,
pooling = "mean"
)
Arguments
labels |
[integer/character vector] the disease status (should only take two different values). |
predictions |
[numeric vector] A vector with the same length as |
fold |
[character/integer vector] If using cross validation, the index of the fold.
Should have the same length as |
observation |
[integer vector] If using cross validation, the index of the corresponding observation in the original dataset. Necessary to compute the standard error when using cross validation. |
direction |
[character] |
add.halfNeutral |
[logical] should half of the neutral score be added to the favorable and unfavorable scores? Useful to match the usual definition of the AUC in presence of ties. |
null |
[numeric, 0-1] the value against which the AUC should be compared when computing the p-value. |
conf.level |
[numeric, 0-1] the confidence level of the confidence intervals. |
transformation |
[logical] should a log-log transformation be used when computing the confidence intervals and the p-value. |
order.Hprojection |
[1,2] the order of the H-projection used to linear the statistic when computing the standard error.
2 is involves more calculations but is more accurate in small samples. Only active when the |
pooling |
[character] method used to compute the global AUC from the fold-specific AUC: either an empirical average |
Details
The iid decomposition of the AUC is based on a first order decomposition. So its squared value will not exactly match the square of the standard error estimated with a second order H-projection.
Value
An S3 object of class BuyseTestAUC
that inherits from data.frame.
The last line of the object contains the global AUC value with its standard error.
References
Erin LeDell, Maya Petersen, and Mark van der Laan (2015). Computationally efficient confidence intervals for cross-validated area under the ROC curve estimates. Electron J Stat. 9(1):1583–1607.
Examples
library(data.table)
n <- 200
set.seed(10)
X <- rnorm(n)
dt <- data.table(Y = as.factor(rbinom(n, size = 1, prob = 1/(1+exp(1/2-X)))),
X = X,
fold = unlist(lapply(1:10,function(iL){rep(iL,n/10)})))
## compute auc
auc(labels = dt$Y, predictions = dt$X, direction = ">")
## compute auc after 10-fold cross-validation
auc(labels = dt$Y, prediction = dt$X, fold = dt$fold, observation = 1:NROW(dt))