【发布时间】:2021-04-14 11:19:45
【问题描述】:
有没有办法使用 R 中的 Date 变量来提取工作日/工作日(在英国)的数量?示例:
| Date | Working days |
|---|---|
| Mar-21 | 23 |
| Apr-21 | 20 |
【问题讨论】:
有没有办法使用 R 中的 Date 变量来提取工作日/工作日(在英国)的数量?示例:
| Date | Working days |
|---|---|
| Mar-21 | 23 |
| Apr-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", x$Date), format="%d %b-%y"),
holidays = as.Date("2021-04-05"))
# [1] 23 21
选择您喜欢的工作日/工作日。
因此,您需要以某种方式找到要包含在 holidays= 参数中的假期列表。
【讨论】:
Mar-21 和March of the year 2021 一样吗? Y2K 是一个非常好的问题。