在两个date之间创build一个所有天的向量

在R中有一个简单的方法可以列出两个指定date之间发生的所有有效date吗? 例如,我想要以下input:

itemizeDates(startDate="12-30-11", endDate="1-4-12") 

为了生成以下date:

 "12-30-11" "12-31-11", "1-1-12", "1-2-12", "1-3-12", "1-4-12" 

我在date的类和格式上很灵活,我只需要实现这个概念。

你正在寻找seq

 > seq(as.Date("2011-12-30"), as.Date("2012-01-04"), by="days") [1] "2011-12-30" "2011-12-31" "2012-01-01" "2012-01-02" "2012-01-03" [6] "2012-01-04" 

或者,您可以使用:

 > as.Date(as.Date("2011-12-30"):as.Date("2012-01-04"), origin="1970-01-01") [1] "2011-12-30" "2011-12-31" "2012-01-01" "2012-01-02" "2012-01-03" [6] "2012-01-04" 

这是一个function,以满足您的具体要求

 itemizeDates <- function(startDate="12-30-11", endDate="1-4-12", format="%m-%d-%y") { out <- seq(as.Date(startDate, format=format), as.Date(endDate, format=format), by="days") format(out, format) } > itemizeDates(startDate="12-30-11", endDate="1-4-12") [1] "12-30-11" "12-31-11" "01-01-12" "01-02-12" "01-03-12" "01-04-12"