在R中创建一个时间序列,每15分钟一行

时间:2017-03-31 21:30:13

标签: r time-series lubridate

我每15分钟创建一个时间序列(POSIXct或dttm列)时遇到问题。

2015年1月1日至2016年12月31日期间每15分钟会出现这样的情况(此处为月/日/年时:分钟):

1/15/2015 0:00
1/15/2015 0:15
1/15/2015 0:30
1/15/2015 0:45
1/15/2015 1:00

循环开始日期是01/01/2015 0:00然后加上15分钟直到2016年12月31日23:45?

有没有人知道如何轻松完成这项工作?

谢谢!

2 个答案:

答案 0 :(得分:4)

稍微容易阅读

library(lubridate)
seq(ymd_hm('2015-01-01 00:00'),ymd_hm('2016-12-31 23:45'), by = '15 mins')

答案 1 :(得分:1)

intervals.15.min <- 0 : (366 * 24 * 60 * 60 / 15 / 60)
res <- as.POSIXct("2015-01-01","GMT") + intervals.15.min * 15 * 60
res <- res[res < as.POSIXct("2016-01-01 00:00:00 GMT")]
head(res)
# "2015-01-01 00:00:00 GMT" "2015-01-01 00:15:00 GMT" "2015-01-01 00:30:00 GMT"
tail(res)
# "2015-12-31 23:15:00 GMT" "2015-12-31 23:30:00 GMT" "2015-12-31 23:45:00 GMT"