Как насчет этого семейного решения apply
?
library(lubridate)
date1 <- ymd_hms("2000-01-01 00:00:00",tz = "US/Eastern")
end<- lapply(0:14, function(x){
lapply(c(0,8,16), function(y){
interval((date1+days(x)+hours(y)), (date1+days(x)+hours(y+8)))
})
})
lapply(0:14)
создаст группу интервалов от 0 до 14 дня, начиная с date1
lapply(c(0,8,16)
, создаст n + 1 интервалов, гдеn = c(0,8,16)
начиная с даты1 + день X (X определяется первым lapply
)
Результатом будет list of lists
, где, например, end[[8]][3]
будет 3-м интервалом начала 8-го дня date1
Лучший!