将每隔30分钟更改一次收集的数据四舍五入为设置的30分钟间隔

时间:2018-11-08 18:27:00

标签: r time intervals

我有一个数据集,其中在四年的时间内以30分钟的间隔收集了测量结果。但是,由于这些数据是在很长一段时间内收集的,因此在记录仪器上有多次启动和停止。仍以30分钟的间隔记录数据,但是该间隔在整个收集周期内不一致。

例如说我有100天的数据,其中间隔为: “ 2015-08-01 09:03:00,2015-08-01 09:33:00,2015-08-01 10:03:00”等...

然后,经过短暂的间隔,接下来的50天是这样的: “ 2016-02-01 09:13:00,2016-02-01 09:43:00,2016-02-01 10:13:00”等...

我想应用一些可以将数据“舍入”为整整30年保持一致的30分钟间隔的方法,例如: “ 2015-08-01 09:00:00、2015-08-01 09:30:00、2015-08-01 10:00:00”等

谢谢。

1 个答案:

答案 0 :(得分:1)

lubridatefloor_date可以满足您的需求:

dates<-c("2016-02-01 09:13:00","2016-02-01 09:33:00")
floor_date(as_datetime(dates), unit="30 minutes")

[1] "2016-02-01 09:00:00 UTC" "2016-02-01 09:30:00 UTC"

当然,如果一个间隔为9:29,而下一个间隔为10:02,则9:30处将缺少一个值。不确定您的数据性质如何避免这种情况。