R 计算两个日期间隔之间每月的天数
我有一套活动,每个都有一个开始和结束日期,但它们发生在几个月的范围内。我想创建一个表,显示此事件每个月的天数 我有下面的例子R 计算两个日期间隔之间每月的天数,r,date,intervals,R,Date,Intervals,我有一套活动,每个都有一个开始和结束日期,但它们发生在几个月的范围内。我想创建一个表,显示此事件每个月的天数 我有下面的例子 event_start_date <- as.Date("23/10/2012", "%d/%m/%Y") event_end_date <- as.Date("07/02/2013", "%d/%m/%Y") 有人知道这样做的聪明而优雅的方法吗?或者创建一个循环系统是唯一可行的方法吗 Jochem正如DjSol在评论中指出的那样,你只需减去两个日期即可
event_start_date <- as.Date("23/10/2012", "%d/%m/%Y")
event_end_date <- as.Date("07/02/2013", "%d/%m/%Y")
有人知道这样做的聪明而优雅的方法吗?或者创建一个循环系统是唯一可行的方法吗
Jochem正如DjSol在评论中指出的那样,你只需减去两个日期即可得到天数:
event_start_date <- as.Date("23/10/2012", "%d/%m/%Y")
event_end_date <- as.Date("07/02/2013", "%d/%m/%Y")
as.numeric(event_end_date - event_start_date)
event\u start\u date这不一定有效,因为它创建了一系列的天数,但它完成了以下任务:
> library(zoo)
> table(as.yearmon(seq(event_start_date, event_end_date, "day")))
Oct 2012 Nov 2012 Dec 2012 Jan 2013 Feb 2013
9 30 31 31 7
如果你的时间跨度比这个方法慢,你必须在你的两个(被截断的)日期之间创建一个月的第一个序列,取diff
,并为结束点做一些额外的工作。我想你可以减去日期见谢谢你DjSol和Christoph_J,我知道这个概念,但我特别感兴趣的是如何将天数分配到所列表格中的月份。当然,这可以通过循环和月底-月初来完成。但我想知道是否有一种更优雅的方法来实现这一点?我的错!现在我知道你想做什么了。但弗洛德尔的回答似乎是一个很好的起点。
> library(zoo)
> table(as.yearmon(seq(event_start_date, event_end_date, "day")))
Oct 2012 Nov 2012 Dec 2012 Jan 2013 Feb 2013
9 30 31 31 7