2016-09-13 4 views
1

일련의 일요일 중 토요일, 일요일, 월요일의 모든 날짜를 찾으려고합니다. 나는이 일을함으로써 내가 원하는 것을 얻을 수 있습니다벡터의 각 요소에 여러 값을 추가하는 방법

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 마법을?) 하지만이 (사소한) 문제에 대한 좋은 검색어를 생각할 수 없었습니다. 당신이 원하는 것을 할 수

답변

2

한 가지 방법은 근처의 올바른 길이로 재활용 될 것입니다, 당신의 일요일 벡터를 반복한다 :

rep(allSundays, e=3) + nearby 

all(sort(result)==(rep(allSundays, e=3) + nearby)) 
#[1] TRUE 
+1

... 그리고'전자 (ACH)는'요소도 좋은에서 취득하기 박쥐를 크로노로 주문하십시오. 감사! –

관련 문제