如果我有一个星期的序列,有没有人知道如何使用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包有许多有用的相关功能,但不能考虑如何应用它们来获得上述结果。
答案 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