# 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

1 2 |

### 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 smallest y 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 |

`...` |
additional arguments passed on to approx. 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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
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)
``` |