如何在R中获取每月最后一个工作日的日期

Ung*_*stl 0 r date

我需要从R的当前日期获得上个月的最后一个工作日(例如今天是5th of January 2018,所以我应该得到29th of December 2017结果)

提前致谢

Dir*_*tel 6

你需要一个工作日计算器.在这里,我使用RQuantLib中的一个,这是一个CRAN包.

给定日期,您可以测试它是否是给定(交换)日历中的工作日.然后,您只需按您想要的时间段进行分组.这可以更容易,例如data.table,但我在这里保持简单,所以我们只依赖于一个包:

R> library(RQuantLib)
R> dateseq <- seq(as.Date("2017-12-01"), as.Date("2017-12-31"), by="1 day")
R> df <- data.frame(dates=dateseq, bizday=isBusinessDay("UnitedStates", dateseq))
R> tail(df[ df[,"bizday"], ], 1)
        dates bizday
29 2017-12-29   TRUE
R> 
R> tail(df[ df[,"bizday"], "dates"], 1)
[1] "2017-12-29"
R> 
Run Code Online (Sandbox Code Playgroud)