我想查找兩個日期之間的所有星期二。但如果星期二屬於用戶定義的節假日列表,那麼我希望星期三。獲取星期二的矢量,但是如果星期二是假期,那麼用星期三替換它在R
這段代碼適用於我的測試,但它很笨拙,我恐怕會失敗。
low.date <- "1996-01-01"
high.date <- "1997-01-01"
holidays = c("01-01", "07-04", "12-25")
tues <- seq(as.Date(low.date), as.Date(high.date), by = 1)
tues <- subset(tues, format(tues, "%a") == "Tue")
tues <- ifelse(format(tues, "%m-%d") %in% holidays, tues + 1, tues)
tues <- as.Date(tues, origin = "1970-01-01")
謝謝!我看到指向timeDate
包的答案,但我只能看到找到工作日或節假日的方法。有沒有比我使用的更清潔/更安全的邏輯?
只是一個小評論,但重新使用變量`tues`一樣,這將使它很難測試。如果第二個賦值出現錯誤,比如說,它會在最後被覆蓋兩次,所以很難追溯。 – 2011-01-22 23:43:15
@G - 好的電話。謝謝。有時候我認爲我在保存RAM,但在這種情況下這很荒謬。 – 2011-01-23 14:42:02