foreach
%dopar%
루프를 사용한 후에 두 개의 다른 객체를 출력 할 수 있는지 알고 싶습니다.outptut foreach를 사용하는 두 객체
나는 내가 찾고있는 것을 설명하려고 노력할 것이다.
dim(result[[1]]) # equals to nrow=length(vec1) and ncol=100
dim(result[[2]]) # equals to nrow=length(vec2) and ncol=100
:
library(doMC)
library(parallel)
registerDoMC(cores=4)
result <- foreach(i=1:100) %dopar% {
#### some code here
#### some code here
vec1 <- result_from_previous code # It would be the 1st object I'd like to ouput
vec2 <- result_from_previous code # It would be the 2nd object I'd like to output
}
내 원하는 출력과 같은 길이 2의 data.frames의 목록이 될 것입니다 :의 내가 루프 내부의 여러 작업의 결과로 두 data.frames이 있다고 가정하자 나는 이전 게시물 Saving multiple outputs of foreach dopar loop에서이 함께 시도 :
comb <- function(x, ...) {
lapply(seq_along(x), function(i) c(x[[i]], lapply(list(...), function(y) y[[i]])))
result <- foreach(i=1:100, .comb='comb', .multicombine=TRUE) %dopar% {
#### some code here
#### some code here
vec1 <- result_from_previous code
vec2 <- result_from_previous code
list(vec1, vec2)
}
그러나 예상 된 결과
에게 제공하지 않습니다3210다음 작업을 수행 할 때 :
result <- foreach(i=1:100, .comb=cbind) %dopar% {
#### some code here
#### some code here
vec1 <- result_from_previous code
vec2 <- result_from_previous code
}
내가 vec2
만 data.frame을 구하십시오. 두 가지 결과를 모두 반환하거나 저장하는 방법이 있습니까?
감사