Function to calculate the Area Under the ROC Curve (AUC)

Share:

Description

Function to calculate the Area Under the ROC Curve (AUC)

Usage

1
	auc(x, y, decreasing=TRUE, top=1.0)

Arguments

x

a vector for scores

y

a vector for labels

decreasing

TRUE if the compounds are ranked by decreasing score

top

threshold ratio of the false positives (when ROC analysis is performed on a top list)

Value

AUC, in the range from 0 to 1.

Author(s)

Hiroaki YABUUCHI

References

Truchon et al. Evaluating Virtual Screening Methods: Good and Bad Metrics for the "Early Recognition" Problem. J. Chem. Inf. Model. (2007) 47, 488-508.

Examples

1
2
3
4
5
6
7
8
9
x <- rnorm(1000)  # random scores for 1000 compounds
y <- c(rep(1,50), rep(0,950))     # activity labels for "x"
auc(x, y)

data(dud_egfr)
auc(dud_egfr$energy, dud_egfr$label, decreasing=FALSE)

# AUC up to the first 10% of the false positives (ROC10%)
auc(dud_egfr$energy, dud_egfr$label, decreasing=FALSE, top=0.1)