are.paired {pROC} | R Documentation |
Are two ROC curves paired?
Description
This function determines if two ROC curves can be paired.
Usage
are.paired(...)
## S3 method for class 'auc'
are.paired(roc1, roc2, ...)
## S3 method for class 'smooth.roc'
are.paired(roc1, roc2, ...)
## S3 method for class 'roc'
are.paired(roc1, roc2, return.paired.rocs=FALSE,
reuse.auc = TRUE, reuse.ci = FALSE, reuse.smooth=TRUE, ...)
Arguments
roc1 , roc2 |
the two ROC curves to compare. Either “roc”, “auc” or “smooth.roc” objects (types can be mixed). |
return.paired.rocs |
if |
reuse.auc , reuse.ci , reuse.smooth |
if |
... |
additionnal arguments for |
Details
Two ROC curves are paired if they are built on two variables observed on the same sample.
In practice, the paired status is granted if the response
and levels
vector
of both ROC curves are identical. If the response
s are different, this can be
due to missing values differing between the curves. In this case, the
function will strip all NA
s in both curves and check for
identity again.
It can raise false positives if the responses are identical but correspond to different patients.
Value
TRUE
if roc1
and roc2
are paired, FALSE
otherwise.
In addition, if TRUE
and return.paired.rocs=TRUE
, the
following atributes are defined:
roc1 , roc2 |
the two ROC curve with all |
See Also
Examples
data(aSAH)
aSAH.copy <- aSAH
# artificially insert NAs for demonstration purposes
aSAH.copy$outcome[42] <- NA
aSAH.copy$s100b[24] <- NA
aSAH.copy$ndka[1:10] <- NA
# Call roc() on the whole data
roc1 <- roc(aSAH.copy$outcome, aSAH.copy$s100b)
roc2 <- roc(aSAH.copy$outcome, aSAH.copy$ndka)
# are.paired can still find that the curves were paired
are.paired(roc1, roc2) # TRUE
# Removing the NAs manually before passing to roc() un-pairs the ROC curves
nas <- is.na(aSAH.copy$outcome) | is.na(aSAH.copy$ndka)
roc2b <- roc(aSAH.copy$outcome[!nas], aSAH.copy$ndka[!nas])
are.paired(roc1, roc2b) # FALSE
# Getting the two paired ROC curves with additional smoothing and ci options
roc2$ci <- ci(roc2)
paired <- are.paired(smooth(roc1), roc2, return.paired.rocs=TRUE, reuse.ci=TRUE)
paired.roc1 <- attr(paired, "roc1")
paired.roc2 <- attr(paired, "roc2")