rstudio - 是否可以在后台运行代码

标签 r rstudio

有关 RStudio 的问题。假设我在控制台中运行代码:

> code1()

假设 code1() 在控制台上没有打印任何内容,但上面的 code1() 需要一个小时才能完成。我想在等待 code1() 期间处理其他事情。是否可以?是否有像 runInBackground 这样的函数,我可以按如下方式使用

> runInBackground(code1())
> code2()

替代方案是运行两个 RStudio 或编写一个使用 Rscript 运行 code1() 的批处理文件,但我想知道是否有更简单的方法无需离开 RStudio 控制台即可执行此操作。我尝试浏览 R 的帮助文档,但没有找到任何内容(或者可能是我没有使用正确的关键字)。

最佳答案

future package (我是作者)提供了这个:

library("future")
plan(multisession)

future(code1())
code2()

仅供引用,如果您使用

plan(cluster, workers = c("n1", "n3", "remote.server.org"))

然后 future 表达式在其中一台机器上解析。使用

plan(future.BatchJobs::batchjobs_slurm)

将导致它通过 Slurm 作业调度程序队列得到解决。

这个问题与Run asynchronous function in R密切相关

关于rstudio - 是否可以在后台运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20596786/

相关文章:

r - 如何安装Olson数据库?

解决在 Travis 构建中失败的 rgdal 包

r - 基于字符串列表的子集使用 grepl()?

rstudio - 使用 Rstudio 实时预览 Rmarkdown 文档

r - 使用Shiny和RStudio导入数据

用 "&"替换字符中的最后一个逗号

R:环境的缓存/内存

r - Git 与 RStudio 的本地替代方案?

RStudio - 在查看器 Pane 中渲染 html 内容

ide - 如何在 RStudio 中启用 vim 模式