【问题标题】:Rounding data collected at changing 30 min intervals into set 30 min intervals将每隔 30 分钟收集的数据舍入为设置的 30 分钟间隔
【发布时间】:2019-04-12 07:56:58
【问题描述】:

我有一个数据集,其中在四年内每隔 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 分钟间隔,这些间隔在所有四年中都是一致的,例如: “2015-08-01 09:00:00、2015-08-01 09:30:00、2015-08-01 10:00:00”等

谢谢。

【问题讨论】:

    标签: r time intervals


    【解决方案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 就会出现缺失值。鉴于您的数据的性质,不确定如何避免这种情况。

    【讨论】:

      猜你喜欢
      • 2013-03-12
      • 2019-09-28
      • 1970-01-01
      • 2014-10-09
      • 2020-03-03
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 2021-07-16
      相关资源
      最近更新 更多