R-并行运行多个脚本

R-并行运行多个脚本,r,performance,optimization,parallel-processing,R,Performance,Optimization,Parallel Processing,我的问题是: 我有3个R脚本,运行这些脚本需要很多时间。这些脚本运行每个不同的数据。我想把它们并行运行。一个解决方案是在3个不同的R会话或3个不同的项目中运行它们,或者在3个不同的批中运行。问题是,我需要在这3个脚本运行后收集它们返回的数据,并在第四个脚本中完成其余的计算,这也需要很多时间。这需要在Windows下完成 是否可以并行运行这3个脚本,并在一个工作区中返回输出以自动完成第四个脚本的计算?如果是,如何进行 假设问题1的答案是肯定的。第四个脚本输出3个变量。是否可以将它们用作3个脚本的输

我的问题是:

我有3个R脚本,运行这些脚本需要很多时间。这些脚本运行每个不同的数据。我想把它们并行运行。一个解决方案是在3个不同的R会话或3个不同的项目中运行它们,或者在3个不同的批中运行。问题是,我需要在这3个脚本运行后收集它们返回的数据,并在第四个脚本中完成其余的计算,这也需要很多时间。这需要在Windows下完成

  • 是否可以并行运行这3个脚本,并在一个工作区中返回输出以自动完成第四个脚本的计算?如果是,如何进行

  • 假设问题1的答案是肯定的。第四个脚本输出3个变量。是否可以将它们用作3个脚本的输入并循环,直到验证第4个脚本中的条件

  • 例如,您可以假设以下脚本:

    Script1.R   
    Sys.sleep(10)  
    a <- 3 
    
    Script2.R  
    Sys.sleep(10)  
    b <- 5 
    
    Script3.R  
    Sys.sleep(10)  
    c <- 56 
    
    Script1.R
    系统睡眠(10)
    
    a请提供一个最小的、可重复的示例。请将其放入您的问题中。使用
    system()
    wait=FALSE
    在各自的R进程中触发每个脚本,并将结果写入类似RDS或RData文件的文件中。然后让主脚本运行while循环,定期检查输出文件,当三个文件都存在时,使用
    load()
    readRDS()
    @Thomas加载它们。谢谢你的回答。我想它回答了第一个问题。您将如何解决第二个问题?根据您的操作系统,您可以使用类似于
    foreach
    的并行软件包来实现这一点