在R中自动创建具有不同开始日期的日期序列

时间:2012-01-30 16:20:41

标签: r date

我可以使用以下代码创建所需的日期序列:

DateTwoWeeks1 <- seq(as.Date("2010/8/6"), as.Date("2011/8/5"), by = "2 weeks")
DateTwoWeeks2 <- seq(as.Date("2010/8/7"), as.Date("2011/8/5"), by = "2 weeks")
DateTwoWeeks3 <- seq(as.Date("2010/8/8"), as.Date("2011/8/5"), by = "2 weeks")

但是,我想自动创建14个不同开始日期的日期序列。我希望有一个时间序列从2010年8月6日开始,下一个时间序列从7日开始,一直到2010年8月19日。

我该如何自动化?我尝试使用“粘贴”功能,但我无法使用以下代码:

for (i in 6:19){
TimeTwoWeeks[i] <- seq(as.Date(paste("2010/8/", i)), as.Date("2011/8/5"), by = "2 weeks")
}

非常感谢任何直接帮助或与其他网站/帖子的链接。

2 个答案:

答案 0 :(得分:5)

你走了:

TimeTwoWeeks <- lapply(as.Date("2010/8/6") + 0:13, 
                       function(X) seq(X, as.Date("2011/8/5"), by = "2 weeks"))

答案 1 :(得分:1)

如果要创建时间序列列表,可以按如下方式进行调整:

TimeTwoWeeks <- list()

for (i in 6:19){
TimeTwoWeeks[[i-5]] <- seq(as.Date(paste("2010/8/", i)), as.Date("2011/8/5"), by = "2 weeks")
}