将以 30 分钟间隔更改为设定的 30 分钟间隔收集的数据四舍五入

Rounding data collected at changing 30 min intervals into set 30 min 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”等...

我想应用一些东西 "round" 将数据设置为 30 分钟的间隔,这些间隔在所有四年中都是一致的,例如: “2015-08-01 09:00:00、2015-08-01 09:30:00、2015-08-01 10:00:00”等

谢谢。

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 处有一个缺失值。鉴于您的数据的性质,不确定如何避免这种情况。