# peaks: Local maxima In splus2R: Supplemental S-PLUS Functionality in R

## Description

Finds the local maxima in a vector, or time series, or in each column of a matrix.

## Usage

 `1` ```peaks(x, span=3, strict=TRUE, endbehavior=0) ```

## Arguments

 `x` vector or matrix. `span` a peak is defined as an element in a sequence which is greater than all other elements within a window of width span centered at that element. The default value is 3, meaning that a peak is bigger than both of its neighbors. Default: 3. `strict` logical flag: if TRUE, an element must be strictly greater than all other values in its window to be considered a peak. Default: TRUE. `endbehavior` a value of 0, 1 or 2 that determines how peaks are computed within a `halfwidth` (= `floor(span/2)`) of the ends of the sequence. A value of 0 means no value within `halfwidth` of the start or end can be considered a peak. A value of 1 means maximum values within `halfwidth` of the start or end can be considered a peak. A value of 2 returns `NA` for the values within `halfwidth` of the start or end. The default is `endbehavior=0)`.

## Value

an object like `x` of logical values. Values that are TRUE correspond to local peaks in the data.

## Note

The value of `endbehavior` acts as follows: 0 is as if the series had runs of `halfwidth` values of `Inf` attached to either end, 1 is as if there were runs of `halfwidth` values of `-Inf` attached, and 2 is as if there were runs of`halfwidth` values of `NA` attached.

`max`, `cummax`, `pmax`.

## Examples

 ```1 2 3 4``` ```x <- as.vector(sunspots) z <- peaks(x, span=51) plot(x, type="l") abline(v=which(z), col="red", lty="dashed") ```

### Example output ```
```

splus2R documentation built on Jan. 30, 2021, 9:05 a.m.