我试图在一系列星期日找到周六,周日,周一的所有日期。通过这样做,我可以得到我想要的东西:
alldays <- Sys.Date() + c(1:100)
allSundays <- alldays[weekdays(alldays)=='Sunday']
length(allSundays) ## 7 elements
nearby <- c(-1,0,1)
result <- c(c(allSundays + nearby[1]),c(allSundays + nearby[2]),c(allSundays + nearby[3]))
length(result) ## 21 elements.
但是我希望有一种更优雅的方式(某种形式的apply
或某种黑暗的data.table
魔法?)如果这是重复的我会道歉但是我想不到这(小)问题的良好搜索条件。
答案 0 :(得分:2)
做你想做的事情的一种方法是重复你的星期日矢量,附近将循环到正确的长度:
rep(allSundays, e=3) + nearby
all(sort(result)==(rep(allSundays, e=3) + nearby))
#[1] TRUE