R: Local maxima

peaks {splus2R} | R Documentation

## Local maxima

### Description

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

### Usage

    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.

### See Also

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

### Examples

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

[Package splus2R version 1.3-3 Index]