Last data update: 2014.03.03

R: Calculate Area Under Curve (AUC) for a standard ROC plot.
calcAUCR Documentation

Calculate Area Under Curve (AUC) for a standard ROC plot.

Description

Calculates the AUC values for one or more ROC plots.

Usage

calcAUC(scores, truthValues, includedProbesets = 1:length(truthValues))

Arguments

scores

A vector of scores. This could be, e.g. one of the columns of the statistics of a DEResult object.

truthValues

A boolean vector indicating which scores are True Positives.

includedProbesets

A vector of indices indicating which scores (and truthValues) are to be used in the calculation. The default is to use all, but a subset can be used if, for example, you only want a subset of the probesets which are not True Positives to be treated as False Positives.

Value

A single number which is the AUC value.

Author(s)

Richard D. Pearson

See Also

Related methods plotROC and numFP.

Examples

class1a <- rnorm(1000,0.2,0.1)
class2a <- rnorm(1000,0.6,0.2)
class1b <- rnorm(1000,0.3,0.1)
class2b <- rnorm(1000,0.5,0.2)
scores_a <- c(class1a, class2a)
scores_b <- c(class1b, class2b)
classElts <- c(rep(FALSE,1000), rep(TRUE,1000))
print(calcAUC(scores_a, classElts))
print(calcAUC(scores_b, classElts))

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(puma)
Loading required package: oligo
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Loading required package: oligoClasses
Welcome to oligoClasses version 1.34.0
Loading required package: Biobase
Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

Loading required package: Biostrings
Loading required package: S4Vectors
Loading required package: stats4

Attaching package: 'S4Vectors'

The following objects are masked from 'package:base':

    colMeans, colSums, expand.grid, rowMeans, rowSums

Loading required package: IRanges
Loading required package: XVector
================================================================================
Welcome to oligo version 1.36.1
================================================================================
Loading required package: mclust
Package 'mclust' version 5.2
Type 'citation("mclust")' for citing this R package in publications.
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/puma/calcAUC.Rd_%03d_medium.png", width=480, height=480)
> ### Name: calcAUC
> ### Title: Calculate Area Under Curve (AUC) for a standard ROC plot.
> ### Aliases: calcAUC
> ### Keywords: manip
> 
> ### ** Examples
> 
> class1a <- rnorm(1000,0.2,0.1)
> class2a <- rnorm(1000,0.6,0.2)
> class1b <- rnorm(1000,0.3,0.1)
> class2b <- rnorm(1000,0.5,0.2)
> scores_a <- c(class1a, class2a)
> scores_b <- c(class1b, class2b)
> classElts <- c(rep(FALSE,1000), rep(TRUE,1000))
> print(calcAUC(scores_a, classElts))
Loading required package: ROCR
Loading required package: gplots

Attaching package: 'gplots'

The following object is masked from 'package:IRanges':

    space

The following object is masked from 'package:S4Vectors':

    space

The following object is masked from 'package:stats':

    lowess

[1] 0.963603
> print(calcAUC(scores_b, classElts))
[1] 0.818843
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>