我正在尝试识别数据集中的局部最大值,并使用我在LyzandeR中找到的以下代码:
library(data.table)
maximums <- function(x) which(x - shift(x, 1) > 0 & x - shift(x, 1, type='lead') > 0)
maximums(data$Y)
这样做可以为非噪声数据提供正确的最大值,但对于噪声数据,它不正确(为了我的目的,它按照书面工作)将小波动识别为独立峰值。我一直无法确定如何扩展最大范围,即为了使一个点被认为是最大值,它需要大于例如5个相邻值。这个代码可以吗?
谢谢!