【问题标题】:Subsampling time series to a certain resolution将时间序列二次采样到某个分辨率
【发布时间】:2022-09-27 17:21:02
【问题描述】:

为了分析某些鸟类的 GPS 轨迹,我想将 GPS 轨迹二次采样到大约 10 分钟的固定分辨率。实际分辨率从 1 到 10 分钟不等(如截图所示,通常为 5 分钟)。

    Tracking_data$Collecting.time

1             2022-08-23T00:04:00Z
2             2022-08-23T00:09:01Z
3             2022-08-23T00:14:01Z
4             2022-08-23T00:19:00Z
5             2022-08-23T00:24:01Z
6             2022-08-23T00:29:01Z
7             2022-08-23T00:34:00Z
8             2022-08-23T00:39:01Z
9             2022-08-23T00:44:00Z
10            2022-08-23T00:49:00Z
11            2022-08-23T00:54:01Z
12            2022-08-23T00:59:00Z
13            2022-08-23T01:04:01Z
14            2022-08-23T01:09:00Z
15            2022-08-23T01:14:01Z
16            2022-08-23T01:19:00Z
17            2022-08-23T01:24:01Z
18            2022-08-23T01:29:00Z
19            2022-08-23T01:34:00Z
20            2022-08-23T01:39:01Z

如何二次采样到大约 10 分钟的分辨率?由于分辨率时不时地变化,我不能只提取每个第 n 个值。我尝试了 \"zoo\" 包,但无法让它工作。

    标签: r datetime time-series


    【解决方案1】:

    尚不完全清楚您想要什么 - 您能否提供可重现的样本?

    其他列中的数据是什么,你想用它做什么?如果是 GPS 位置数据,您是想使用从最近记录到每十分钟“滴答”的位置,还是想通过从现有点外推来估计滴答处的可能位置?

    首先,您可以使用 dplyr 对数据进行分组:

    df %>% group_by(group10min = cut(Collecting.time, "10 min"))
    

    【讨论】:

      猜你喜欢
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-22
      • 2021-11-17
      • 2018-06-04
      相关资源
      最近更新 更多