数据标记为分钟,每5、30分钟保留一次数据,是实现数据的最佳方式

时间:2019-03-01 08:30:04

标签: r

我有一些每分钟带有时间戳的数据,如下所示:

  date time_greece gmt_offset_greece price_greece time_and_date 
  gmt_offset_greece_test time_and_date_correct time_and_date_difference ID
1 2009-12-01  08:30:04.548 +2 2275.32 2009-12-01 08:30:04.548 2 2009-12-01 06:30:04 0 1

我想对5分钟,30分钟间隔等进行不同的分析。此刻,我已经基于行号和30之间的模运算创建了一个ID(我将对5分钟间隔进行类似的操作,等等。 )

statadata$ID <- seq.int(nrow(statadata))
statadata$ID <- seq.int(nrow(statadata)) %% 30

我的问题是,有没有比我目前所使用的更有效的方式来实现这一点,而我从未想到过/不知道?

1 个答案:

答案 0 :(得分:0)

lubridate作为日期和日期时间的舍入函数,可以舍入到任意时间单位,例如5分钟,30分钟,以及地板和天花板。有了这个,您应该可以将间隔定义为简单lubridate::round(date_time_greece, '5 minutes')。 与所有用于数据分析的装仓操作一样,请注意您的小组。即您的分组/合并操作是否仅用一个数据点就创建了许多组。