0
如何檢測一個月的最後第n個工作日我試圖通過使用下面的規則基於日期列在我的data.table中創建一個新變量。如何使用R
規則:如果「日期」是一個月的最後3個工作日之一(可以是從星期一到星期五的任何一天),那麼將其編碼爲「1」;否則將其編碼爲「0」。
以下是我需要查看結果的一個示例。第三欄包含編碼說明。
提前感謝!
如何檢測一個月的最後第n個工作日我試圖通過使用下面的規則基於日期列在我的data.table中創建一個新變量。如何使用R
規則:如果「日期」是一個月的最後3個工作日之一(可以是從星期一到星期五的任何一天),那麼將其編碼爲「1」;否則將其編碼爲「0」。
以下是我需要查看結果的一個示例。第三欄包含編碼說明。
提前感謝!
這個怎麼樣:
library(dplyr)
df <- data.frame(date=seq(as.Date("2017/01/01"), as.Date("2017/12/31"), "days"))
df$day <- weekdays(x = df$date)
df$month <- months(x = df$date)
true_flags <- df %>%
arrange(date) %>%
filter(day!='Sunday' & day!='Saturday') %>%
group_by(month) %>%
top_n(wt = date,n = 3) %>%
ungroup() %>%
transmute(date=date,flag=T)
df %>% left_join(y=true_flags,by = 'date')
是的,它的工作原理!感謝您的快速回復! – kzmlbyrk
本帖](http://stackoverflow.com/questions/37683981/how-to-flag-last-friday-or-last-day-or-month? rq = 1)和[這篇文章](http://stackoverflow.com/questions/33088424/r-find-last-weekday-of-month?rq=1)是相當不錯的開始''weekdays'函數。 – lmo