为了查看foreach()
循环中运行的函数输出的控制台消息,我遵循了这个人的建议并添加了sink()
如下调用:
library(foreach)
library(doMC)
cores <- detectCores()
registerDoMC(cores)
X <- foreach(i=1:100) %dopar%{
sink("./out/log.branchpies.txt", append=TRUE)
cat(paste("\n","Starting iteration",i,"\n"), append=TRUE)
myFunction(data, argument1="foo", argument2="bar")
}
但是,在第 77 次迭代中,我收到错误“接收器堆栈已满”。在使用 for 循环而不是 foreach 时,关于避免此错误的问题得到了很好的回答。将原本隐藏的 foreach 输出写入文件的最佳方法是什么?