我需要从R的当前日期获得上个月的最后一个工作日(例如今天是5th of January 2018,所以我应该得到29th of December 2017结果)
提前致谢
你需要一个工作日计算器.在这里,我使用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)