我有一组事件,每个事件都有一个开始和结束日期,但它们发生在几个月的范围内.我想创建一个表格,显示每个月的活动天数.
我有以下示例.
event_start_date <- as.Date("23/10/2012", "%d/%m/%Y")
event_end_date <- as.Date("07/02/2013", "%d/%m/%Y")
Run Code Online (Sandbox Code Playgroud)
我希望得到一个表格如下:
Oct-12 8
Nov-12 30
Dec-12 31
Jan-13 31
Feb-13 7
Run Code Online (Sandbox Code Playgroud)
有没有人知道这样做的聪明而优雅的方法,还是创建一个循环系统唯一可行的方法?
Jochem
这不一定有效,因为它创建了一系列天,但它完成了这项工作:
> 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
Run Code Online (Sandbox Code Playgroud)
如果你的时间跨度比这个方法那么大,那么你必须在你的两个(截断的)日期之间创建一个月的第一个序列diff,然后为结束点做一些额外的工作.