问题描述
d <- "202003"
我想将其设为日期对象,并使用 as.yearmon
中的 zoo
和 https://stat.ethz.ch/pipermail/r-help/2007-September/141796.html 中的技巧
lastday <- as.Date(as.yearmon(d,"%Y%m"),frac = 1)
但这给了我一个月的最后一个日历日。我怎样才能获得一个月的最后一个工作日或工作日?
提前致谢
托马斯飞利浦
解决方法
如果最后一天是星期六,则减去 1 天,如果是星期日,则减去 2 天。使用 %u 格式化将在星期六给出 6,在星期日给出 7,因此从中减去 5,如果它是负数,则将其减去 0。
lastday - pmax(as.numeric(format(lastday,"%u")) - 5,0)