为R中的给定时段生成每小时一小时的时间戳列表,这是一种优雅的方法。
该函数应该有一年作为输入(例如2015)和作为
的输出分析as.POSIXct(strptime("2015-11-14 01:30:00", "%Y-%m-%d %H:%M:%S"),tz = "UTC")
达到特定年份的四分之一小时。
答案 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()
中以进行转换。