# auROC: Area Under Receiver Operating Curve In limma: Linear Models for Microarray Data

## Description

Compute exact area under the ROC for empirical data.

## Usage

 `1` ```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.

Gordon Smyth

## Examples

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

### Example output

``` 1
 0.5900621
```

limma documentation built on Nov. 8, 2020, 8:28 p.m.