【问题标题】:Aggregate date and time in RR中的聚合日期和时间
【发布时间】:2018-04-12 03:28:45
【问题描述】:

我的数据有一个开始和结束时间戳,例如:

200401010000 200401010030
200401010030 200401010100
200401010100 200401010130 and so on...

我正在尝试使用 lubridate 和 as.POSIXct 将这些字段转换为 %YYYY%MM%DD%HH%MM 格式,但我只得到 NA。任何帮助将不胜感激。 我的目标是汇总每个月的数据。 我目前使用的代码如下:

start_time = as.POSIXct(dat$TIMESTAMP_START, format = "%YYYY%MM%DD %HH%MM",origin = "2004-01-01 00:00", tz="EDT")
stop_time = as.POSIXct(dat$TIMESTAMP_END, format = "%YYYY%MM%DD%HH%MM",origin = "2004-01-01 00:30", tz="EDT")
dat$interval <- interval(start_time, stop_time)

【问题讨论】:

    标签: r date time time-series aggregate


    【解决方案1】:

    我可以看到两个问题:

    1. 如果您已经在使用lubridate,您可能应该使用函数ymd_hm(),它只是更简洁的IMO。

    2. 您不能将该函数应用于向量(我认为 dat$TIMESTAMP_STARTdat$TIMESTAMP_END 是);为此,您可以使用:

      start_time <- sapply(dat$TIMESTAMP_START, ymd_hm())
      end_time <- sapply(dat$TIMESTAMP_END, ymd_hm()) 
      

      这会将函数应用于向量中的每个项目。

    【讨论】:

      最近更新 更多