如何解决从 R 中的日期提取工作日数
有没有办法使用 R 中的日期变量提取工作日/工作日数(在英国)?示例:
日期 | 工作日 |
---|---|
3 月 21 日 | 23 |
4 月 21 日 | 20 |
解决方法
workingdays <- function(date,wdays = c("Monday","Tuesday","Wednesday","Thursday","Friday"),holidays = as.Date(c())) {
day1 <- as.POSIXlt(date)
day1$mday <- 1
dayn <- day1
dayn$mon <- dayn$mon + 1
dayn$mday <- dayn$mday - 1
day1 <- as.Date(day1)
dayn <- as.Date(dayn)
mapply(function(fm,to) {
alldays <- seq(fm,to,by = "day")
alldays <- alldays[!alldays %in% holidays]
sum(weekdays(alldays) %in% wdays)
},day1,dayn)
}
workingdays(as.Date(paste("01",x$Date),format="%d %b-%y"))
# [1] 23 22
workingdays(as.Date(paste("01",format="%d %b-%y"),holidays = as.Date("2021-04-05"))
# [1] 23 21
选择您喜欢的工作日/工作日。
因此,您需要以某种方式找到要包含在 holidays=
参数中的假期列表。