easyROC: a web-tool for ROC curve analysis (ver. 1.3.1)


n: number of observations

p: number of variables

Upload a delimited text file (max. 10MB):

You can upload your data as separated by comma, tab, semicolon or space.

Note: First row must be header.

Paste or enter your data below:

You can paste or manually enter your data as separated by comma, tab or semicolon.

Note: First row must be header.

(*) Multiple markers are allowed.

[+]: Default options.

[+]: Default options.

X-axis options:
Y-axis options:
1. Select a marker

2. Select a method for optimal cut-off (*)

Youden: Youden index

CB: cost-benefit method

MCT: minimizes misclassification cost term

MinValueSp: a minimum value set for specificity

MinValueSe: a minimum value set for sensitivity

ValueSe: a value set for sensitivity

ValueSp: a value set for specificity

MinValueSpSe: a minimum value set for specificity and sensitivity

MaxSp: maximizes specificity

MaxSe: maximizes sensitivity

MaxSpSe: maximizes sensitivity and specificity simultaneously

MaxProdSpSe: maximizes the product of sensitivity and specificity or accuracy area

ROC01: minimizes distance between ROC plot and point (0,1)

SpEqualSe: sensitivity = specificity

MaxEfficiency: maximizes efficiency or accuracy, similar to minimize error rate

Minimax: minimizes the most frequent error

MaxDOR: maximizes diagnostic odds ratio

MaxKappa: maximizes kappa index

MinValueNPV: a minimum value set for negative predictive value

MinValuePPV: a minimum value set for positive predictive value

ValueNPV: a value set for negative predictive value

ValuePPV: a value set for positive predictive value

MinValueNPVPPV: a minimum value set for predictive values

PROC01: minimizes distance between PROC plot and point (0,1)

NPVEqualPPV: negative predictive value = positive predictive value

MaxNPVPPV: maximizes positive predictive value and negative predictive value simultaneously

MaxSumNPVPPV: maximizes the sum of the predictive values

MaxProdNPVPPV: maximizes the product of predictive values

ValueDLR.Negative: a value set for negative diagnostic likelihood ratio

ValueDLR.Positive: a value set for positive diagnostic likelihood ratio

MinPvalue: minimizes p-value associated with the statistical Chi-squared test which measures the association between the marker and the binary result obtained on using the cutpoint

ObservedPrev: the closest value to observed prevalence

MeanPrev: the closest value to the mean of the diagnostic test values

PrevalenceMatching: the value for which predicted prevalence is practically equal to observed prevalence

(*) See OptimalCutpoints package from R

X-axis options:
Y-axis options:
X-axis options:
Y-axis options:
X-axis options:
Y-axis options:
X-axis options:
Y-axis options:

(*) See Obuchowski, 2005 for further details.

The easiest way to perform ROC analysis!

A receiver operating characteristics (ROC) curve is a graphical approach which assess the performance of a binary classifier system. The ROC curve analysis is widely used in medicine, radiology, biometrics and various application of machine learning.

Here we developed an easy way to carry out ROC analysis. This application creates ROC curves, calculates area under the curve (AUC) values and confidence intervals for the AUC values, and performs multiple comparisons for ROC curves in a user-friendly, up-to-date and comprehensive way. Moreover, easyROC computes and compares partial AUCs. It can also perform sample size calculation.

An important feature of this application is to determine cut-off values especially for diagnostic tests. For this task, we made use of OptimalCutpoints package (Lopez-Raton et al, 2014) of R [1].

If you use easyROC web-tool in your researches, please cite easyROC as Goksuluk D, Korkmaz S, Zararsiz G, Karaağaoğlu AE (2016). easyROC: An Interactive Web-tool for ROC Curve Analysis Using R Language Environment. The R Journal, 8(2):213-230. Click here for the paper.

[1] Monica Lopez-Raton, Maria Xose Rodriguez-Alvarez, Carmen Cadarso Suarez, Francisco Gude Sampedro (2014). OptimalCutpoints: An R Package for Selecting Optimal Cutpoints in Diagnostic Tests. Journal of Statistical Software, 61(8), 1-36.

Disclaimer: This server is intended for research purposes only, not for clinical or commercial use. It is a non-profit service to the scientific community, provided on an "AS-IS " basis without any warranty, expressed or implied. The authors can not be held liable in any way for the service provided here.





Dincer Goksuluk

Hacettepe University Faculty of Medicine Department of Biostatistics


Selcuk Korkmaz

Hacettepe University Faculty of Medicine Department of Biostatistics


Gokmen Zararsiz

Hacettepe University Faculty of Medicine Department of Biostatistics



Version 1.3.1 (July 25, 2016)

(1) Minor fixes: Added feature to keep only pairwise complete data. Missing cases are now removed before ROC curve analysis which causes to null return in ROC statistics.

Version 1.3 (July 25, 2016)

(1) Support for prametric ROC curve approximation.

(2) Minor bug fixes and improvements.

(3) Minor changes in user interface.

Version 1.2 (May 6, 2016)

(1) User manual added.

(2) Minor bug fixes and improvements.

(3) Re-checked the package dependencies.

Version 1.1 (June 23, 2015)

(1) Partial AUC feature has been added.

(2) Sample size calculation tab has been added.

(3) Minor improvements and bug fixes.

Version 1.0 (March 19, 2015)

(1) Initial version has been released.

Other Tools

MLViS: a machine learning-based virtual screening tool

MVN: a web-tool for assessing multivariate normality

DDNAA: Decision support system for differential diagnosis of nontraumatic acute abdomen

Please feel free to send us bugs and feature requests.

Usage of the web-tool:

Data upload

Load your data set in *.txt file format using this tab.

  • Rows must represent the observations and each column must represent the variables.

  • First row must be a header which indicates the variable names.

ROC curve

Use this tab to perform ROC curve analysis. easyROC supports both parametric and nonparametric approximations for ROC curve analysis.

  • First select marker(s), where all names of the variables, except the status variable, will be imported automatically by the tool.

  • Once the markers are selected, the direction should be defined. By default, higher values indicate higher risks.

  • Under Statistics subtab, you can get area under the curve (AUC) value and its standard error, confidence interval and statistical significance, instantly.

  • One may select one of parametric or nonparametric approximations under Advanced options checkbox (By default, the nonparametric approach is selected). The standart errors can be estimated using one of the proposed methods. Likewise, users can select a method for confidence inerval estimation. Moreover, one can also change the type I error (Default is 0.05).

  • Furthermore, the ROC curve plot can be obtained under this tab. There are plenty of options under the Plot options checkbox, such as font type, axis label and colour etc.

Each false positive and true positive points can be found under ROC Coordinates subtab for each marker.

Multiple Comparisons subtab can be used to perform pairwise statistical comparisons for two or more ROC curves.

  • The comparison methods can be changed under Multiple Comparison Method option. Available methods are Bonferroni (by default), False discovery rate and none (i.e no adjustment on multiple tests).

Partial AUC subtab gives partial AUC value(s) for specified ranges based on both sensitivity and specificity.

Cut points

  • Users can determine optimal cut-off points for their marker(s) using this tab.

  • First, a ROC curve analysis has to be done in order to use this option.

  • Then, one of the markers, which are used for ROC curve analysis, can be selected to determine the optimal cut-off points.

  • One can select one of 34 methods for optimal cut-off point determination.

  • Several graphs, including ROC curve with the optimal cut-off point, Sensitivity & Specificity Curve and Distribution graphs, can be created as well.

Sample size

  • Sample size calculation for ROC curve analysis can be implemented under this tab.

  • There are three different options for sample size calculation.

  • One can perform a sample size calculation for a single diagnostic test, comparison of two diagnostic tests or noninferiority of a new test to a standard test.

Please see Obuchowski, 2005 for further details about the methods.