优雅的代码,用于在R中为给定时段生成等间隔时间戳

时间:2015-11-14 10:20:43

标签: r datetime

为R中的给定时段生成每小时一小时的时间戳列表,这是一种优雅的方法。

该函数应该有一年作为输入(例如2015)和作为

的输出分析
as.POSIXct(strptime("2015-11-14 01:30:00", "%Y-%m-%d %H:%M:%S"),tz = "UTC")

达到特定年份的四分之一小时。

1 个答案:

答案 0 :(得分:1)

这是一个直接的功能,我认为当你指定日期和时间时,它总是看起来有点笨拙。

count.up = function(year){
seq.POSIXt(from=as.POSIXct(strptime(paste0(year, "-01-01 00:00:00"), "%Y-%m-%d %H:%M:%S"),tz = "UTC"),
       to=as.POSIXct(strptime(paste0(year, "-12-31 23:45:00"), "%Y-%m-%d %H:%M:%S"),tz = "UTC"),
       by="15 min")
}

运行:

x = count.up(2015)

这会生成一个向量而不是列表(正如您所要求的那样),但它很容易包含在as.list()中以进行转换。