-6

我有一个有两个变量的表。数据来自核磁共振。所以当我绘图时,我得到了一个光谱。我在图中找到了峰值。但我需要知道如何列出峰值的值并将它们存储到一个变量中。任何人请帮忙。

4

1 回答 1

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
于 2012-06-05T15:22:05.697 回答