【问题标题】:Run multiple R scripts in parallel using foreach and controlling number of cores使用 foreach 并行运行多个 R 脚本并控制内核数量
【发布时间】:2017-04-21 16:29:19
【问题描述】:

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

你建议做什么?我试图以这种方式使用“foreach”包,但它没有用。

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

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

【问题讨论】:

    标签: r parallel-processing


    【解决方案1】:

    您是否注册了并行后端?如果是单系统,则先使用 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)
    

    【讨论】:

    • 错误或问题是什么?你已经安装了doparallel包吗?
    猜你喜欢
    • 2020-04-09
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 2021-11-30
    • 2023-03-22
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    相关资源
    最近更新 更多