This function adds confidence intervals to a ROC curve plot, either as bars or as a confidence shape.
# S3 method for ci.thresholds
plot(x, length=.01*ifelse(attr(x,
"roc")$percent, 100, 1), col=par("fg"), ...)
# S3 method for ci.sp
plot(x, type=c("bars", "shape"), length=.01*ifelse(attr(x,
"roc")$percent, 100, 1), col=ifelse(type=="bars", par("fg"),
"gainsboro"), no.roc=FALSE, ...)
# S3 method for ci.se
plot(x, type=c("bars", "shape"), length=.01*ifelse(attr(x,
"roc")$percent, 100, 1), col=ifelse(type=="bars", par("fg"),
"gainsboro"), no.roc=FALSE, ...)
a confidence interval object from the functions
ci.thresholds
, ci.se
or ci.sp
.
type of plot, “bars” or “shape”. Can be
shortened to “b” or “s”. “shape” is only available for
ci.se
and ci.sp
, not for ci.thresholds
.
the length (as plot coordinates) of the bar ticks. Only
if type="bars"
.
if FALSE
, the ROC line is re-added over the
shape. Otherwise if TRUE
, only the shape is plotted. Ignored
if type="bars"
color of the bars or shape.
This function returns the confidence interval object invisibly.
With type="shape"
, the warning “Low definition shape” is
issued when the shape is defined by less than 15 confidence
intervals. In such a case, the shape is not well defined and the ROC
curve could pass outside the shape. To get a better shape, increase
the number of intervals, for example with:
plot(ci.sp(rocobj, sensitivities=seq(0, 1, .01)), type="shape")
This function adds confidence intervals to a ROC curve plot, either as
bars or as a confidence shape, depending on the state of the
type
argument. The shape is plotted over the ROC curve, so that
the curve is re-plotted unless no.roc=TRUE
.
Graphical functions are called with suppressWarnings.
Xavier Robin, Natacha Turck, Alexandre Hainard, et al. (2011) ``pROC: an open-source package for R and S+ to analyze and compare ROC curves''. BMC Bioinformatics, 7, 77. DOI: 10.1186/1471-2105-12-77.
# NOT RUN { data(aSAH) # } # NOT RUN { # Start a ROC plot rocobj <- plot.roc(aSAH$outcome, aSAH$s100b) plot(rocobj) # Thresholds ci.thresolds.obj <- ci.thresholds(rocobj) plot(ci.thresolds.obj) # Specificities plot(rocobj) # restart a new plot ci.sp.obj <- ci.sp(rocobj, boot.n=500) plot(ci.sp.obj) # Sensitivities plot(rocobj) # restart a new plot ci.se.obj <- ci(rocobj, of="se", boot.n=500) plot(ci.se.obj) # Plotting a shape. We need more ci.sp.obj <- ci.sp(rocobj, sensitivities=seq(0, 1, .01), boot.n=100) plot(rocobj) # restart a new plot plot(ci.sp.obj, type="shape", col="blue") # Direct syntax (response, predictor): plot.roc(aSAH$outcome, aSAH$s100b, ci=TRUE, of="thresholds") # }
Run the code above in your browser using DataCamp Workspace