我有两个约会
begin <- as.Date("2007-05-20")
end <- as.Date("2010-06-13")
我如何计算每年的天数?
输出应该看起来像这样
year days
2007 226
2008 366
2009 365
2010 164
最佳答案
让我们首先创建一个适当的日期序列:
R> bd <- as.Date("2007-05-20")
R> ed <- as.Date("2010-06-13")
R> seqd <- seq(bd, ed, by="1 day")
R> head(seqd)
[1] "2007-05-20" "2007-05-21" "2007-05-22" "2007-05-23" "2007-05-24" "2007-05-25"
然后我们创建一个辅助函数,给定一个日期,返回它的年份:
R> getYear <- function(d) as.POSIXlt(d)$year + 1900
R> getYear(head(seqd))
[1] 2007 2007 2007 2007 2007 2007
之后,我们只需调用
table()
关于助手从日期序列返回的内容:R> table(getYear(seqd))
2007 2008 2009 2010
226 366 365 164
关于r - 每年计算天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465817/