如何在R中的几天内生成特定时段

如何在R中的几天内生成特定时段,r,time-series,R,Time Series,我希望在几天内生成相同的时间段,例如从每天09:30:00到16:00:00,我知道这一点 dates<- seq(as.POSIXct("2000-01-01 9:00",tz='UTC'), as.POSIXct("2000-04-9 16:00",tz='UTC'), by=300) 日期这里有一种方法。我们可以为每一天创建一个日期序列,然后为每一天创建五分钟间隔的子列表。最后,我们可以合并此列表final_seq是最终输出 date_seq <- seq(as.Date("

我希望在几天内生成相同的时间段,例如从每天09:30:00到16:00:00,我知道这一点

dates<- seq(as.POSIXct("2000-01-01 9:00",tz='UTC'), as.POSIXct("2000-04-9 16:00",tz='UTC'), by=300)

日期这里有一种方法。我们可以为每一天创建一个日期序列,然后为每一天创建五分钟间隔的子列表。最后,我们可以合并此列表
final_seq
是最终输出

date_seq <- seq(as.Date("2000-01-01"), as.Date("2000-04-09"), by = 1)

hour_seq <- lapply(date_seq, function(x){
  temp_date <- as.character(x)
  temp_seq <- seq(as.POSIXct(paste(temp_date, "09:30"), tz = "UTC"),
                  as.POSIXct(paste(temp_date, "16:00"), tz = "UTC"),
                  by = 300)
})

final_seq <- do.call("c", hour_seq)

date\u seq这里有一种方法。我们可以为每一天创建一个日期序列,然后为每一天创建五分钟间隔的子列表。最后,我们可以合并此列表
final_seq
是最终输出

date_seq <- seq(as.Date("2000-01-01"), as.Date("2000-04-09"), by = 1)

hour_seq <- lapply(date_seq, function(x){
  temp_date <- as.character(x)
  temp_seq <- seq(as.POSIXct(paste(temp_date, "09:30"), tz = "UTC"),
                  as.POSIXct(paste(temp_date, "16:00"), tz = "UTC"),
                  by = 300)
})

final_seq <- do.call("c", hour_seq)

date\u seq使用
tidyr::crossing()
(我喜欢)和
lubridate
包的选项:

交叉(c1=粘贴(dmy(“01/01/2000”)+序号(1:100),“09:30”), c2=序列(0390,5))%>% 突变(时间序列=ymd\U hm(c1)+分钟(c2))%>% 拉力(时间序列)
使用
tidyr::crossing()
(我喜欢)和
lubridate
包的选项:

交叉(c1=粘贴(dmy(“01/01/2000”)+序号(1:100),“09:30”), c2=序列(0390,5))%>% 突变(时间序列=ymd\U hm(c1)+分钟(c2))%>% 拉力(时间序列)