r-将YYYYMM转换为该月的最后一个工作日或工作日



我有一个YYYYMM格式的日期,即

d <- "202003"

我想让它成为一个日期对象,并使用zoo中的as.yearmon和https://stat.ethz.ch/pipermail/r-help/2007-September/141796.html

lastday <- as.Date(as.yearmon(d, "%Y%m"), frac = 1)

但这给了我一个月的最后一天。如何获取当月最后一个业务日或工作日

提前感谢

Thomas Philips

如果最后一天是星期六,则减去1天,如果星期天,则减去2天。使用%u格式化将在周六得到6,在周日得到7,因此减去5,如果为负数,则将其0。

lastday - pmax(as.numeric(format(lastday, "%u")) - 5, 0)

最新更新