【问题标题】:How to label extracted peak values in time series data in R如何在R中标记时间序列数据中提取的峰值
【发布时间】:2021-02-24 00:21:22
【问题描述】:

我是 R 的菜鸟,但我正在处理大量体内神经元记录的时间序列数据。

我能够绘制时间序列,并使用我在网上找到的自定义 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 的“值”,它们标识数据中的哪些点是正峰值或负峰值。然后如何将其映射到我的折线图上以创建类似的东西?:

【问题讨论】:

    标签: r time-series label


    【解决方案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?
    

    【讨论】:

    • 太棒了,这就像一个魅力! ...我仍然几乎没有开始使用 ggplot...谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 2015-08-09
    • 2017-08-26
    • 2020-06-16
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多