Вопрос по r – рассчитать пиковые значения на графике, используя R [закрыто]

-5

У меня есть таблица с двумя переменными. Данные взяты из ЯМР. Так что, когда я строю график, я получаю спектр. Я нашел пики на графике. Но мне нужно знать, как составить список значений пика и сохранить их в переменной. пожалуйста помоги.

Я использовал функцию пиков, чтобы найти пики на графике. Даже тогда я не могу найти пики с более высоким значением частоты. Функция пиков предсказывает даже очень маленькие пики на графике. Используемая мной функция пиков - это функция пиков (серия, диапазон). = 3) {z & lt; - встраивание (серия, интервал) s & lt; - span% /% 2 v & lt; - max.col (z) == 1 + s result & lt; - c (rep (FALSE, s), v) результат & lt; - результат [1: (длина (результат) -s)] результат} график (ppm, freq, type = "l") p & lt; - какие (пики (freq, span = 3)) точек (ppm [p], freq [p], col = "красный") sathya
Пример данных находится по следующей ссылкеstackoverflow.com/questions/10908553/… кто-то ответит на это. sathya
Это может помочь, если вы сможете показать небольшой выбор ваших данных для игры. Henry
Ваш вопрос не очень понятен. Тем не менее, я предлагаю посмотреть на пакет msProcess. Он предоставляет множество интересных функций. Roland
Как насчет этого?rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=simecol:peaks Roman Luštrik

Ваш Ответ

1   ответ
5

Простая реализация, основанная на публикации Брайана Рипли вR-помощь:

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

Похожие вопросы