R: Calculate partial AUCs

part {precrec} | R Documentation

## Calculate partial AUCs

### Description

The `part` function takes an `S3` object generated by `evalmod` and calculate partial AUCs and Standardized partial AUCs of ROC and Precision-Recall curves. Standardized pAUCs are standardized to the range between 0 and 1.

### Usage

    part(curves, xlim, ylim, curvetype)

    ## S3 method for class 'sscurves'
    part(curves, xlim = c(0, 1), ylim = c(0, 1),
      curvetype = c("ROC", "PRC"))

    ## S3 method for class 'mscurves'
    part(curves, xlim = c(0, 1), ylim = c(0, 1),
      curvetype = c("ROC", "PRC"))

    ## S3 method for class 'smcurves'
    part(curves, xlim = c(0, 1), ylim = c(0, 1),
      curvetype = c("ROC", "PRC"))

    ## S3 method for class 'mmcurves'
    part(curves, xlim = c(0, 1), ylim = c(0, 1),
      curvetype = c("ROC", "PRC"))

### Arguments

`curves` | An `S3` object generated by `evalmod`. The `part` function accepts the following S3 objects.
`S3` object | # of models | # of test datasets
sscurves | single | single
mscurves | multiple | single
smcurves | single | multiple
mmcurves | multiple | multiple
See the Value section of `evalmod` for more details.
`xlim` | A numeric vector of length two to specify x range between two points in [0, 1]
`ylim` | A numeric vector of length two to specify y range between two points in [0, 1]
`curvetype` | A character vector with the following curve types.
curvetype | description
ROC | ROC curve
PRC | Precision-Recall curve
Multiple `curvetype` can be combined, such as `c("ROC", "PRC")`.

### Value

The `part` function returns the same S3 object specified as input with calculated pAUCs and standardized pAUCs.

### See Also

`evalmod` for generating `S3` objects with performance evaluation measures. `pauc` for retrieving a dataset of pAUCs.

### Examples

    ## Not run:

    ## Load library
    library(ggplot2)

    ##################################################
    ### Single model & single test dataset
    ###

    ## Load a dataset with 10 positives and 10 negatives
    data(P10N10)

    ## Generate an sscurve object that contains ROC and Precision-Recall curves
    sscurves <- evalmod(scores = P10N10$scores, labels = P10N10$labels)

    ## Calculate partial AUCs
    sscurves.part <- part(sscurves, xlim = c(0.25, 0.75))

    ## Show AUCs
    sscurves.part

    ## Plot partial curve
    plot(sscurves.part)

    ## Plot partial curve with ggplot
    autoplot(sscurves.part)

    ##################################################
    ### Multiple models & single test dataset
    ###

    ## Create sample datasets with 100 positives and 100 negatives
    samps <- create_sim_samples(1, 100, 100, "all")
    mdat <- mmdata(samps[["scores"]], samps[["labels"]],
                   modnames = samps[["modnames"]])

    ## Generate an mscurve object that contains ROC and Precision-Recall curves
    mscurves <- evalmod(mdat)

    ## Calculate partial AUCs
    mscurves.part <- part(mscurves, xlim = c(0, 0.75), ylim = c(0.25, 0.75))

    ## Show AUCs
    mscurves.part

    ## Plot partial curves
    plot(mscurves.part)

    ## Plot partial curves with ggplot
    autoplot(mscurves.part)

    ##################################################
    ### Single model & multiple test datasets
    ###

    ## Create sample datasets with 100 positives and 100 negatives
    samps <- create_sim_samples(4, 100, 100, "good_er")
    mdat <- mmdata(samps[["scores"]], samps[["labels"]],
                   modnames = samps[["modnames"]],
                   dsids = samps[["dsids"]])

    ## Generate an smcurve object that contains ROC and Precision-Recall curves
    smcurves <- evalmod(mdat)

    ## Calculate partial AUCs
    smcurves.part <- part(smcurves, xlim = c(0.25, 0.75))

    ## Show AUCs
    smcurves.part

    ## Plot partial curve
    plot(smcurves.part)

    ## Plot partial curve with ggplot
    autoplot(smcurves.part)

    ##################################################
    ### Multiple models & multiple test datasets
    ###

    ## Create sample datasets with 100 positives and 100 negatives
    samps <- create_sim_samples(4, 100, 100, "all")
    mdat <- mmdata(samps[["scores"]], samps[["labels"]],
                   modnames = samps[["modnames"]],
                   dsids = samps[["dsids"]])

    ## Generate an mscurve object that contains ROC and Precision-Recall curves
    mmcurves <- evalmod(mdat, raw_curves = TRUE)

    ## Calculate partial AUCs
    mmcurves.part <- part(mmcurves, xlim = c(0, 0.25))

    ## Show AUCs
    mmcurves.part

    ## Plot partial curves
    plot(mmcurves.part)

    ## Plot partial curves with ggplot
    autoplot(mmcurves.part)

    ## End(Not run)

[Package precrec version 0.9.1 Index]