r - 每年计算天数

标签 r date

我有两个约会

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/

相关文章:

java - Java 中的日期间隔加法和减法

sql-server - SQL Server : Date-time millisec AM/PM casting

r - 在ggplot中订购堆积条形图

r - Dplyr - 过滤是否有任何变量等于一个值

r - 网格作为 ggplot 中的条形图

php - 将日期字符串 (Y-m-d) 转换为 "Mar 2nd"php/mysql

r: How to get a single element in data. 表

r - 计算数据框中(长)周末的天数

javascript - 将时间字符串 ("hours:minute") 转换为日期对象

javascript - 如何在特定时区的特定时间在特定日期刷新页面?