r - 是否可以管理 R 会话?
问题描述
是否可以管理 R 会话,如:
- 将您的 R 控制台连接到现有的 R 会话进程?
- 两个 R 会话可以相互传输数据吗?
在以下可能的情况下,人们可能希望这样做:
- 您正在愉快地处理您的 R 项目并生成了需要 3 小时计算的数据。
- 您决定在出现技术问题时保存您的工作区。
- 但是,保存您的 Rstudio 后决定永远挂起,而 R 会话不受影响。
在这种情况下,您可能希望
- 使用终端连接到 R 会话以检索您的数据。
- 设置另一个与现有 R 会话持续同步的新 R 会话作为备份会话。
是否可以?
解决方案
将您的 R 控制台连接到现有的 R 会话进程?
不可能。
两个 R 会话可以相互传输数据吗?
是的,有多种方法可以做到这一点。对此的一般关键字是“进程间通信”。例如,您可以使用文件、命名管道或套接字。要序列化数据,您可以使用内置函数(saveRDS
, readRDS
)或包(例如feather)。
但是对于您给定的用例,有一个更简单的解决方案:
永远不要依赖 RStudio 来保存您的 R 会话。相反,通过调用saveRDS
(或者,保存整个工作区,我通常不推荐,save.image
)来明确地这样做。事实上,一般建议是禁用 RStudio 选项来保存和恢复会话!
确保您的偏好如下所示:
推荐阅读
- android - 当从手机短信屏幕按下短信导航返回时,如何使应用程序恢复状态?
- regex - 带有教义“错误:无效的 PathExpression。必须是 StateFieldPathExpression”的正则表达式。
- python - QSettings 与仅使用字典相比有什么优势?
- django-rest-framework - 成功 TokenAuthentication 后 core-api 请求不包括用户
- c# - 使用 Simple Injector 注入 SignalR 集线器
- php - Yii2 提交表单开始下载视图文件
- macos - MacOS 上的 OpenMPI:意外 IP
- kubernetes - Minikube 中的默认 CNI
- javascript - 有没有办法使用 jQuery 查找任何表的行数?
- jsf - 在 IceFaces 中是否存在第一次读取支持 bean 中的属性但第二次在同一页面上读取的情况?