gpt4 book ai didi

R - 在后台运行 source()

转载 作者:行者123 更新时间:2023-12-04 01:44:51 24 4
gpt4 key购买 nike

我想从 R 控制台在后台执行一个 R 脚本。

从控制台,我通常运行 R 脚本作为源('~/.active-rstudio-document')
我必须等到脚本完成才能继续我的其余工作。
相反,我希望 R 在后台运行,而我可以在控制台中继续我的工作。
当 R 完成源命令时,我也应该以某种方式得到通知。
这在 R 中可能吗?

这可能非常有用,因为我们经常看到工作需要很长时间。

PS - 我希望源脚本在相同的内存空间而不是新的内存空间中运行。因此,像 fork 、 system 等解决方案对我不起作用。我正在查看是否可以将 R 脚本作为单独的线程而不是单独的进程运行。

最佳答案

您可以使用 system()和 Rscript 将您的脚本作为异步后台进程运行:

system("Rscript -e 'source(\"your-script.R\")'", wait=FALSE)

在脚本结束时,您可以使用 save.image() 保存您的对象。以便稍后加载它们,并通过 cat() 通知其完成:
...
save.image("script-output.RData")
cat("Script completed\n\n")

希望这有帮助!

关于R - 在后台运行 source(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14208976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com