Generate Useful ROC Curve Charts for Print and Interactive Use

Most ROC curve plots obscure the cutoff values and inhibit interpretation and comparison of multiple curves. This attempts to address those shortcomings by providing plotting and interactive tools. Functions are provided to generate an interactive ROC curve plot for web use, and print versions. A Shiny application implementing the functions is also included.


Build Status DOI

Most ROC curve plots obscure the cutoff values and inhibit interpretation and comparison of multiple curves. This attempts to address those shortcomings by providing plotting and interactive tools. Functions are provided to generate an interactive ROC curve plot for web use, and print versions. An interacive Shiny application is also included.

Installation

This version of the package is not on CRAN. It also requires the development version of ggplot2. It can be installed with

devtools::install_github("hadley/ggplot2")
devtools::install_github("sachsmc/plotROC")

Basic usage

See examples live here

Acknowledgements

This package would not be possible without the following:

Citation

Read the code snippet article at JSS! (Coming soon)

License

The MIT License (MIT)

Copyright (c) 2017 Michael C Sachs

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

News

plotROC 2.2.0

New features:

  • new cutoff.labels parameter to allow user-supplied labels for the cutoffs (thanks @rcorty)
  • new increasing parameter with default value TRUE. This determines whether the probability of a D = 1 increases with increasing M, if FALSE, assumes that the probability increases with decreasing M (for example if M is the p-value from a regression model) Bug fixes:
  • Now shows shape aesthetic in legend if mapped.

plotROC 2.1.0

New feature:

  • cutoffs.at argument to geom_roc overrides n.cuts and plots points/labels at user-supplied cutoffs.

plotROC 2.1.0

New feature:

  • max.num.points argument to stat_roc (can also pass it to geom_roc()) limits the number of points that get plotted. Note this downsamples the curve at the end of the computation, so the benefit of having a lot of data (very precise curve) is still realized. Thanks @rcorty

plotROC 2.0.3

Bug fixes:

  • Conflict between alpha.line, alpha.point, size.point and the aesthetics alpha and size

plotROC 2.0.2

Fixes:

  • Export verify_d function
  • Bug fix for logical vectors passed to verify_d

plotROC 2.0.1

Bug fixes:

  • Style and format of labels/lines fixed, now passed correctly to ggplot functions
  • Reduce run time of examples
  • Tested with dev version of ggplot2

plotROC 2.0.0

Major changes to the API this release

  • calculate_roc and ggroc are deprecated
  • estimate and display roc curves using geom_roc
  • estimate and display confidence regions using geom_rocci
  • support for faceting and grouping
  • better performance and improved interactivity.

plotROC 1.3.3

  • Added support to ggroc method for objects as returned by ROCR::performance
  • Bug fix in labeling
  • Update d3
  • option to omit inclusion of d3 code

plotROC 1.3.2

Added support for new aesthetic options in plot_journal_roc and export_interactive_roc

  • colors
  • legends
  • line type
  • line width
  • axis labels
  • plotmath expressions in labels

Remove need to specify cutoff labels to plot and export. Those functions now read the data directly from the ggroc object. Easier to use this way!

plotROC 1.3.1

  • fix multi plot with n.cuts = 0 bug

plotROC 1.3

  • Added tests
  • Fixed vignette
  • Allow arbitrary class labels
  • Cleanup after interactive plot creation
  • Citation information

plotROC 1.2

  • New feature: click on interactive plot to display confidence region

plotROC 1.1

  • New feature: Support for multiple curves

plotROC 1.0

  • Initial release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("plotROC")

2.2.0 by Michael C. Sachs, 6 months ago


http://sachsmc.github.io/plotROC


Report a bug at http://github.com/sachsmc/plotROC/issues


Browse source code at https://github.com/cran/plotROC


Authors: Michael C. Sachs [aut, cre], Robert W. Corty [ctb]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports methods, grid, gridSVG, shiny, plyr

Depends on ggplot2

Suggests knitr, testthat, stringr, survivalROC, rmarkdown


See at CRAN