我无法使用lubridate从2013-09-30(9月的最后一天)到2013-10-31(10月的最后一天)增加1个月。
文档中提供的示例效果很好:
# get a vector of months (last day of the month)
vct_dates <- ymd("2013-01-31") %m+% months(0:11)
以下按预期给出2013-10-31:
vct_dates[10]
而且,以下内容给出了2013-09-30:
vct_dates[9]
但是,当我尝试将2013-09-30增加一个月时,我得到了错误的答案:
# should be 2013-10-31 but is 2013-10-30
vct_dates[9] %m+% months(1)
任何想法......?
答案 0 :(得分:2)
R和Lubridate都没有“月中最后一天”的概念。但是你可以欺骗它:拿下个月的第一天,将它增加一个月 - 并减去一天:
R> seq(as.Date("2016-10-01"), by="1 month", len=2)-1
[1] "2016-09-30" "2016-10-31"
R>
这适用于基础R,没有任何附加软件包。
答案 1 :(得分:1)
怎么样:
=SUM(COUNTIFS('Cumulative Complaints'!K:K, "<>"&-1,'Cumulative Complaints'!K:K, "<="&5,'Cumulative Complaints'!L:L, {2,3,4}))/SUM(COUNTIF('Cumulative Complaints'!L:L, {2,3,4}))