在 R 中保存工作区图像

Saving workspace image, in R

在 R 会话结束时关闭 R Studio 时,系统会通过对话框询问我:"Save workspace image to [working directory] ?"

这是什么意思?如果我选择保存工作区图像,它保存在哪里?我总是选择不保存工作区图像,保存它有什么缺点吗?

我查看了 Whosebug,但没有找到解释问题含义的帖子?我只找到一个关于如何禁用提示的问题(没有简单的答案......):How to disable "Save workspace image?" prompt in R?

工作区将包含您保存的任何对象,例如数据框、矩阵、函数等

将它保存到您的工作目录将允许您在下次打开 RStudio 时重新加载它,这样您就可以从您离开的地方继续。如果您下次可以从您的脚本中重新创建所有内容并且您的脚本不会花费很长时间 运行,那么就没有真正的缺点。

What does that mean?

这意味着 R 将全局环境(即您正常工作发生的地方)中的对象列表保存到一个文件中。当 R 下次加载时,默认情况下会恢复此列表(至少部分恢复 - 在某些情况下它不起作用)。

结果是重新启动 R 不会给您一个干净的状态。相反,您的工作区里堆满了现有的东西,这通常不是您想要的。然后人们诉诸各种黑客尝试清理他们的工作空间。但是 none 这些 hacks 是可靠的,如果你只是不 save/restore 你的工作空间,none 是必要的。

If I choose to save the workspace image, where is it saved?

R 在您当前的工作目录中创建一个名为 .RData 的(隐藏)文件。

I always choose not to save the workspace image, are there any disadvantages to save it?

优点是,在某些情况下,您可以避免在稍后继续工作时重新计算结果。但是,还有其他更好的方法可以实现这一点。另一方面,从头开始使用 R 有许多 dis 优点:您现在开始的任何新分析都不会在干净的房间里进行,并且在执行时不会重现再次.

所以您 没有 保存工作区是正确的做法!这是创建可重现的 R 代码的规则之一。有关更多信息,我推荐 Jenny Bryan 关于将 R 与 Project-oriented workflow

一起使用的文章

但是每次都必须手动拒绝保存工作区,这很烦人且容易出错。 You can disable the dialog box in the RStudio options.

我在这里唯一要补充的是,你应该认真考虑一些人可能正在从事正在进行的项目,即不是一天完成的事情,因此必须 保存他们的工作区图像,以免再次从头开始。

我认为,最佳做法是:保存您的工作区是可以的,但只有当您可以清除整个工作区然后完全重新运行它而没有错误时,您的代码才能真正起作用!