使用R计算图中的峰值

sat*_*hya -5 r

我有一个有两个变量的表.数据来自NMR.So当我绘制我得到一个光谱.我在图中找到了峰值.但我需要知道如何列出峰值并将它们存储到变量中.任何人请帮忙.

sgi*_*ibb 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)))
}
Run Code Online (Sandbox Code Playgroud)

例:

x <- c(1,3,1,3,1)

peaks(x, 1)
## [1] FALSE  TRUE FALSE  TRUE FALSE
Run Code Online (Sandbox Code Playgroud)