使用R获取一年中所有日子的向量

JD *_*ong 10 r date leap-year

是否有一个简单的R习惯用于获取给定年份中的日期向量?除了闰年之外,我可以做以下事情.

dtt <- as.Date( paste( as.character(year), "-1-1", sep="") ) + seq( 0,364 )
Run Code Online (Sandbox Code Playgroud)

显然,我可以添加一行来过滤掉(年+ 1)中的任何值,但我猜测有更短的方法可以做到这一点.

Dir*_*tel 20

那这个呢:

R> length(seq( as.Date("2004-01-01"), as.Date("2004-12-31"), by="+1 day"))
[1] 366
R> length(seq( as.Date("2005-01-01"), as.Date("2005-12-31"), by="+1 day"))
[1] 365
R> 
Run Code Online (Sandbox Code Playgroud)

这使用了nuttin'但是基数R可以在日期上正确计算,以便为您提供向量.如果你想要更高级别的运算符,请查看例如lubridate甚至是更基本的RcppBDT,它包含了Boost Time_Date库的部分内容.


JD *_*ong 7

使用Dirk的指导我已经解决了这个问题:

getDays <- function(year){
     seq(as.Date(paste(year, "-01-01", sep="")), as.Date(paste(year, "-12-31", sep="")), by="+1 day")
}
Run Code Online (Sandbox Code Playgroud)