У меня есть функция в R, которая, учитывая 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)
Исключение праздников тоже было бы неплохо.
1:n
опасно!seq_len
полезно знать. 25.05.2011