R: Compute the area under the curve for two vectors.

auc {MESS} | R Documentation

## Compute the area under the curve for two vectors.

### Description

Compute the area under the curve using linear or natural spline interpolation for two vectors where one corresponds to the x values and the other corresponds to the y values.

### Usage

    auc(x, y, from = min(x, na.rm = TRUE), to = max(x, na.rm = TRUE),
      type = c("linear", "spline"), absolutearea = FALSE,
      subdivisions = 100, ...)

### Arguments

`x` | a numeric vector of x values.
`y` | a numeric vector of y values of the same length as x.
`from` | The value from where to start calculating the area under the curve. Defaults to the smallest x value.
`to` | The value from where to end the calculation of the area under the curve. Defaults to the greatest x value.
`type` | The type of interpolation. Defaults to "linear" for area under the curve for linear interpolation. The value "spline" results in the area under the natural cubic spline interpolation.
`absolutearea` | A logical value that determines if negative areas should be added to the total area under the curve. By default the auc function subtracts areas that have negative y values. Set `absolutearea=TRUE` to _add_ the absolute value of the negative areas to the total area.
`subdivisions` | an integer telling how many subdivisions should be used for integrate (for non-linear approximations)
`...` | additional arguments passed on to approx (for linear approximations). In particular rule can be set to determine how values outside the range of x is handled.

### Details

For linear interpolation the auc function computes the area under the curve using the composite trapezoid rule. For area under a spline interpolation, auc uses the splinefun function in combination with the integrate to calculate a numerical integral. The auc function can handle unsorted time values, missing observations, ties for the time values, and integrating over part of the area or even outside the area.

### Value

The value of the area under the curve.

### Author(s)

Claus Ekstrom claus@rprimer.dk

### See Also

`approx`, `splinefun`, `integrate`

### Examples

    x <- 1:4
    y <- c(0, 1, 1, 5)
    auc(x, y)

    # AUC from 0 to max(x) where we allow for extrapolation
    auc(x, y, from=0, rule=2)

    # Use value 0 to the left
    auc(x, y, from=0, rule=2, yleft=0)

    # Use 1/2 to the left
    auc(x, y, from=0, rule=2, yleft=.5)

    # Use 1/2 to the left with spline interpolation
    auc(x, y, from=0, rule=2, yleft=.5)

[Package MESS version 0.5.6 Index]