Find 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=T)

REQUIRED ARGUMENTS:
x:
a vector, matrix, or time series. peaks will find the local maxima in each column of x. Missing values are allowed.

OPTIONAL ARGUMENTS:
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.
strict:
logical flag: if TRUE, an element must be strictly greater than all other values in its window to be considered a peak.

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

DETAILS:
All elements within a halfspan of the end of a sequence or within a halfspan of a missing value are FALSE.

SEE ALSO:
max , cummax , pmax .

EXAMPLES:
# find and plot peaks in spectrum
p <- spectrum(lynx,span=c(3,3), plot=T)
peakfreqs <- p$freq[peaks(p$spec, span=5)]
abline(v=peakfreqs, col=2)      # draw vertical lines at peak frequencies
peakfreqs/peakfreqs[1]