计算每个月的天数,重复两个月

时间:2015-03-20 16:53:32

标签: r

如果我有一个星期的序列,有没有人知道如何使用R计算给定周的每个相应月份的天数。

所以,如果我有一个序列:

week commencing
"2015-04-22" 
"2015-04-29" 
"2015-05-06"

我如何创建以下内容:

week commencing   Days in starting month   Days overlapping
"2015-04-22"       7                         0
"2015-04-29"       3                         4
"2015-05-06"       7                         0

我知道lubridate包有许多有用的相关功能,但不能考虑如何应用它们来获得上述结果。

1 个答案:

答案 0 :(得分:1)

dates<-as.Date(c("2015-04-22","2015-04-29" ,"2015-05-06"))
f<-Vectorize(function(d){
  sum(as.POSIXlt(d+0:6)$mon==as.POSIXlt(d)$mon)  
})

结果:

> data.frame(Start=dates,ThisMonth=f(dates),NextMonth=7-f(dates))
       Start ThisMonth NextMonth
1 2015-04-22         7         0
2 2015-04-29         2         5
3 2015-05-06         7         0