# AUC: Area Under the Curve In AndriSignorell/DescTools: Tools for Descriptive Statistics

## Description

Calculate the area under the curve with a simple "trapezoid" algorithm and with a more elaborated spline approach. The curve must be given by vectors of xy-coordinates.

## Usage

 ```1 2 3``` ```AUC(x, y, from = min(x, na.rm = TRUE), to = max(x, na.rm = TRUE), method = c("trapezoid", "step", "spline"), absolutearea = FALSE, subdivisions = 100, na.rm = FALSE, ...) ```

## Arguments

 `x, y` the xy-points of the curve `method` The type of interpolation. Can be `"trapezoid"` (default), `"step"` or `"spline"`. The value `"spline"` results in the area under the natural cubic spline interpolation. `from` The value from where to start calculating the area under the curve. Defaults to the smallest x value. Must not be smaller that that. `to` The value from where to end the calculation of the area under the curve. Defaults to the greatest x value. Must not be larger than that. `absolutearea` logical, determines whether 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). Ignored if `method` is not `spline`. `na.rm` logical, indicating whether `NA` values should be stripped before the computation proceeds. In this case only the complete.cases of `x` and `y` will be used. `na.rm` defaults to `FALSE`. `...` 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

If method is set to `"trapezoid"` then the curve is formed by connecting all points by a direct line (composite trapezoid rule). If `"step"` is chosen then a stepwise connection of two points is used in the sense that the y-value of the lower x-value is used for the range up to the next x-point.

For area under a spline interpolation, `AUC()` uses the `splinefun()` function in combination with `integrate()` to calculate a numerical integral.

The `AUC()` function can handle unsorted time values (by sorting `x`), missing observations, ties for the `x` values (by ignoring duplicates), and integrating over part of the area or even outside the area.

## Value

numeric value of the area under the curve.

## Author(s)

Andri Signorell <andri@signorell.net>, spline part by Claus Ekstrom <claus@rprimer.dk>

## See Also

`integrate`, `splinefun`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11``` ```AUC(x=c(1,3), y=c(1,1)) AUC(x=c(1,2,3), y=c(1,2,4), method="trapezoid") AUC(x=c(1,2,3), y=c(1,2,4), method="step") plot(x=c(1,2,2.5), y=c(1,2,4), type="l", col="blue", ylim=c(0,4)) lines(x=c(1,2,2.5), y=c(1,2,4), type="s", col="red") x <- seq(0, pi, length.out=200) AUC(x=x, y=sin(x)) AUC(x=x, y=sin(x), method="spline") ```

AndriSignorell/DescTools documentation built on April 8, 2021, 5:51 a.m.