使用foreach并控制多个核心并行运行多个R脚本

问题描述:

我在一个文件夹中有五个R脚本,并且我想并行运行所有这些R脚本,控制可用的内核数量。使用foreach并控制多个核心并行运行多个R脚本

你有什么建议吗?我试图用这种方式使用“foreach”包,但它不起作用。

files<-list.files(pattern=".R") 

foreach(x=files) %dopar% { 
     source(x) 
     } 

您注册了并行后端吗?如果它是单个系统,那么使用doParallel包来首先注册后端。尝试这个;

cl = makeCluster(detectCores() - 1) 
registerDoParallel(cl) 

files<-list.files(pattern=".R") 

foreach (i in 1:length(files), .export = c("files")) %dopar% 
{ 
source(files[i]) 
} 

stopCluster(cl) 
+0

我测试了你的脚本,但没有奏效。 –

+0

错误或问题是什么?您是否已经安装了doparallel软件包? –