#r #time-series #label
#r #временные ряды #метка
Вопрос:
Я новичок в R, но я работаю с тонной данных временных рядов записей нейронов in vivo.
Я могу построить временной ряд и извлечь локальные максимумы, используя пользовательскую функцию find_peaks, которую я нашел в Интернете (из пакета fluoR):
df <- format_data(GCaMP)
head(df)
pks <- find_peaks(xvals = df$Trial8,
n.points = 10)
neg_pks <- find_peaks(xvals = df$Trial8,
n.points = -10)
## line plot of data
ggplot(df)
geom_line(aes(x = Time, y = Trial8))
Итак, после этого у меня есть фрейм данных с моими данными и отдельные «значения», помеченные neg_pks и pks, которые определяют, какие точки в данных являются положительными или отрицательными пиками. Как я могу затем отобразить это на свой линейный график, чтобы создать что-то подобное?:
Ответ №1:
Посмотрите, как функции geom обычно также принимают аргумент данных. Это означает, что вы можете легко добавить слой geom_point, который отображает другие данные (найденное вами подмножество)
Итак, что-то вроде этого: (непроверенный)
ggplot(df, aes(x=Time, y=Trial8) )
geom_line()
geom_point( data=df[ pks, ], col="red" )
geom_point( data=df[ neg_pks, ], col="red" ) # or perhaps another color?
Комментарии:
1. потрясающе, это работает как шарм! … Я все еще только начинаю работать с ggplot … спасибо!