我写了一个程序to_source.R
,它留下了一些配置参数。现在我想并行运行不同的参数。例如,
在to_source.R
cat(paste0(config, ' is finished')
并在main.R
config = 1
source("to_source.R")
这很有效。但是并行运行(在windows中使用foreach / doParallel)
在main_para.R
parallel_cluster = parallel::makeCluster(5)
doParallel::registerDoParallel(parallel_cluster)
configs = 6:10
foreach(config = configs, .combine = rbind, .packages = c("data.table", "foreach")) %dopar% {
source("to_source.R")
}
parallel::stopCluster(parallel_cluster)
此操作失败,因为<:>错误{:任务1失败 - 对象&#39;配置&#39;找不到
这与问题How to pass command-line arguments when source() an R file非常接近,但答案在foreach