我在R中有一個函數,給定n天,返回最近n個工作日的列表。我的解決方案工作正常,但感覺不雅,我想知道是否有任何簡單的方法來改善它。計算最後n個工作日
WeekdayList <- function(n) {
Today <- as.Date(Sys.time())
days <- c(Today)
i <- 1
while (length(days) < n) {
NewDay <- as.Date(Today-i)
if (!weekdays(NewDay) %in% c("Saturday", "Sunday")) {
days <- c(days,NewDay)
}
i <- i+1
}
days
}
WeekdayList(30)
WeekdayList(2)
排除假期也是一個不錯的功能。
您可能會發現在這裏的答案:http://stackoverflow.com/questions/5046708/calculate-the-number-of-weekdays-between-2-dates-in-r – 2011-05-24 17:14:47
@Sacha Epskamp我認爲這涵蓋了不同的理由。在這種情況下,我有一個開始日期,但結束日期是未知的。在前一個問題中,開始和結束都是已知的。 – Zach 2011-05-24 17:18:05
如果你有一個開始日期和天數你有一個結束的日子嗎? – 2011-05-24 17:42:35