R:如何在嵌套的foreach循环中合并write.csv

时间:2019-12-24 17:24:42

标签: r foreach parallel-foreach

我将问题简化到下面,我知道在正常情况下,我不会使用嵌套的foreach循环,而我应该真正使用嵌套的for循环。但是,我想知道如何使用foreach循环来完成此操作,或者这是不可能的吗?

processedAndTransformed <- function(j){
  df                    <- rnorm(25)
  return(matrix(df * j,ncol=1) )
}

# in normal circumstances, use for loop
for(j in c(2,4,7,9)){
    res <- foreach(i = 1:4,.combine = "cbind")%dopar%{
  processedAndTransformed(j)
}
    write.csv(res,file=paste("testing",j,".csv",sep=""))
} 

现在,我尝试将外部for循环转换为foreach循环。 请注意,** write.csv函数在外部foreach循环内部,但在内部循环外部。

# below code fails
foreach(j = c(2,4,7,9))%:%
res <- foreach(i = 1:4,.combine = "cbind")%dopar%{
  processedAndTransformed(j)
}
write.csv(res,file=paste("testing",j,".csv",sep=""))

整个事情失败了。我不明白为什么以及如何纠正它。

更新:应该正在写入其他文件。

0 个答案:

没有答案