.combine=c를 지정하면 결과를 벡터로 받는다.
> foreach(i=1:5, .combine=c) %do% { + return(i) + } [1] 1 2 3 4 5
.combine에 rbind를 지정하면 결과를 행 방향으로 합친 데이터 프레임을 반환하며, cbind를 지정하면 컬럼 방향으로 합친다.
> foreach(i=1:5, .combine=rbind) %do% { + return(data.frame(val=i)) + } val 1 1 2 2 3 3 4 4 5 5 > foreach(i=1:5, .combine=cbind) %do% { + return(data.frame(val=i)) + } val val val val val 1 1 2 3 4 5
그러나 rbind나 cbind는 속도가 느릴 수 있다. 따라서 일단 리스트로 결과를 받고 rbindlist( )를 하는 방법에 대해서도 고려하기 바란다.
.combine에는 또한 연산자를 지정할 수 있다. 예를 들어, +를 지정하면 모든 결과를 합한 결과를 반환한다. 다음은 1부터 10까지의 합을 계산하는 예다.
> foreach(i=1:10, .combine="+") %do% { + return(i) + } [1] 55