在下面的代码中,当我预计2019年2月28日时,对EOMONTH
函数的第一次调用返回NA。第二个调用工作正常。这两个调用都在Excel中正确工作,该函数试图复制。这是一个bug还是我做错了什么?
library(tidyquant)
sdt <- as.Date("2019-01-31")
EOMONTH(sdt, 1)
EOMONTH(sdt, 2)
我有1.0.4版本的tidyquant和4.1.2版本的R (Bird Hippie)
使用较早的日期,例如每月的第一天,以避免获得不存在的月底日期的麻烦。这个问题与日期计算和差异期"加上一个月"(隐含地得到一个月的最后一个月,当你从31日开始时可能不存在)和"加上30天"有关。
> EOMONTH(as.Date("2019-01-01"), 0:4)
[1] "2019-01-31" "2019-02-28" "2019-03-31" "2019-04-30" "2019-05-31"
>
如果您检查help(EOMONTH)
,您将在提供的示例中看到类似的用法。