我有一些每分钟都有时间戳的数据,看起来像这样:
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
我的问题是,有没有比我目前使用的更有效的方法来实现这一点,我还没有想到/不知道?
发布于 2019-03-01 08:48:25
lubridate
包作为日期和日期时间的舍入函数,可以舍入到任意的时间单位,例如5分钟,30分钟,以及下限和上限。有了这个,您应该能够像lubridate::round(date_time_greece, '5 minutes')
一样简单地定义您的间隔。与所有用于数据分析的装箱操作一样,请注意您的组。例如,您的分组/入库是否仅使用单个数据点创建多个组。
https://stackoverflow.com/questions/54940687
复制相似问题