auROC {limma} | R Documentation

## Area Under Receiver Operating Curve

### Description

Compute exact area under the ROC for empirical data.

### Usage

    auROC(truth, stat=NULL)

### Arguments

`truth` | logical vector, or numeric vector of 0s and 1s, indicating whether each case is a true positive.
`stat` | numeric vector containing test statistics used to rank cases, from largest to smallest. If `NULL`, then `truth` is assumed to be already sorted in decreasing test statistic order.

### Details

A receiver operating curve (ROC) is a plot of sensitivity (true positive rate) versus 1-specificity (false positive rate) for a statistical test or binary classifier. The area under the ROC is a well accepted measure of test performance. It is equivalent to the probability that a randomly chosen pair of cases is corrected ranked.

Here we consider a test statistic `stat`, with larger values being more significant, and a vector `truth` indicating whether the alternative hypothesis is in fact true. `truth==TRUE` or `truth==1` indicates a true discovery and `truth=FALSE` or `truth=0` indicates a false discovery. Correct ranking here means that `truth[i]` is greater than or equal to `truth[j]` when `stat[i]` is greater than `stat[j]`. The function computes the exact area under the empirical ROC curve defined by `truth` when ordered by `stat`.

If `stat` contains ties, then `auROC` returns the average area under the ROC for all possible orderings of `truth` for tied `stat` values.

The area under the curve is undefined if `truth` is all `TRUE` or all `FALSE` or if `truth` or `stat` contain missing values.

### Value

Numeric value between 0 and 1 giving area under the curve, 1 being perfect and 0 being the minimum.

### Author(s)

Gordon Smyth

### Examples

    auROC(c(1,1,0,0,0))
    truth <- rbinom(30,size=1,prob=0.2)
    stat <- rchisq(30,df=2)
    auROC(truth,stat)

[Package limma version 3.42.2 Index]