我有一个包含两个变量的表。数据来自NMR.So当我绘制时我得到一个光谱。我在图中找到了峰值。但是我需要知道如何列出峰值并将它们存储到一个变量。任何人都请帮忙。
答案 0 :(得分:5)
基于Brian Ripley在R-help的帖子轻松实现:
peaks <- function(x, halfWindowSize) {
windowSize <- halfWindowSize * 2 + 1
windows <- embed(x, windowSize)
localMaxima <- max.col(windows, "first") == halfWindowSize + 1
return(c(rep(FALSE, halfWindowSize), localMaxima, rep(FALSE, halfWindowSize)))
}
示例:
x <- c(1,3,1,3,1)
peaks(x, 1)
## [1] FALSE TRUE FALSE TRUE FALSE