首页 > 解决方案 > 是否可以管理 R 会话?

问题描述

是否可以管理 R 会话,如:

在以下可能的情况下,人们可能希望这样做:

  1. 您正在愉快地处理您的 R 项目并生成了需要 3 小时计算的数据。
  2. 您决定在出现技术问题时保存您的工作区。
  3. 但是,保存您的 Rstudio 后决定永远挂起,而 R 会话不受影响。

在这种情况下,您可能希望

  1. 使用终端连接到 R 会话以检索您的数据。
  2. 设置另一个与现有 R 会话持续同步的新 R 会话作为备份会话。

是否可以?

标签: rrstudiotidyverse

解决方案


将您的 R 控制台连接到现有的 R 会话进程?

不可能。

两个 R 会话可以相互传输数据吗?

是的,有多种方法可以做到这一点。对此的一般关键字是“进程间通信”。例如,您可以使用文件、命名管道或套接字。要序列化数据,您可以使用内置函数(saveRDS, readRDS)或包(例如feather)。

但是对于您给定的用例,有一个更简单的解决方案:

永远不要依赖 RStudio 来保存您的 R 会话。相反,通过调用saveRDS(或者,保存整个工作区,我通常不推荐,save.image)来明确地这样做。事实上,一般建议是禁用 RStudio 选项来保存和恢复会话!

确保您的偏好如下所示:

RStudio 首选项


推荐阅读