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 ofhalfwidth 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-5 Index]