auROC: Area Under Receiver Operating Curve

Description Usage Arguments Details Value Author(s) See Also Examples

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 error (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 null hypothesis is in fact true. 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.

Value

Numeric vector giving area under the curve, 1 being perfect and 0 being the minimum, or NULL if truth has zero length.

Author(s)

Gordon Smyth

See Also

See 08.Tests for other functions for testing and processing p-values.

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)

richierocks/limma2 documentation built on May 27, 2019, 8:47 a.m.