在R Studio中保存

时间:2015-12-30 23:47:22

标签: r rstudio

我正在试图弄清楚R Studio中的保存方式。

当我创建一个新项目时,会创建一个.RProj文件。每当我在R Studio中工作时,“保存”和“另存为”都会在“文件”菜单中显示为灰色。我知道如何创建.RProj文件的唯一方法是启动一个新项目。

在环境部分,我可以看到软盘保存图标。当我单击它时,它会创建一个.RData文件。如果我想保存,我点击该保存图标并覆盖该文件。

有人可以解释一下使用R Studio时保存的最佳做法以及.RProj和.RData文件之间的主要区别吗?

2 个答案:

答案 0 :(得分:14)

R项目

您应该阅读Using Projects - RStudio Support。 R项目非常有用,但它们不用于保存R环境中的数据。它们由RStudio代码编辑器专用。他们做的最好的事情之一是在打开工作目录时自动将工作目录设置为项目目录。他们还记得您在RStudio中打开了哪些文件,以及其他与编辑相关的偏好等。绝对使用RProjects!

R数据

.RData是R对象的文件。您可以使用save()命令在R(不仅仅是RStudio)中创建R数据文件,然后使用load()将它们加载回工作区。您可以保存工作区中的所有对象(save.image自动执行此操作 - 它是save()的包装)或仅包含特定对象。有关详细信息,请参阅?save。 (对于单个对象,首选使用saveRDS创建的.rds文件。)

多年来(早在RStudio出现之前),默认的RGui已经选择在退出时将工作区中的所有对象保存为.RData文件。 RStudio也提供此选项(除非你将其关闭)。

RStudio中编辑器窗格顶部的软盘“保存”图标不保存R对象,它只保存您在脚本中编写的代码。 “环境”选项卡还有一个软盘保存图标,可以保存R对象。

最佳做法

这进入了风格的意见;没有确定的答案。我个人的偏好是从不对我的工作区中的所有对象进行全面保存,因为它会导致保留创建这些对象所需代码的坏习惯。我保存了所有脚本,如果某个特定对象需要很长时间才能创建,我将编写保存脚本 -

saveRDS(object = final_model, file = "final_model.rds")

我将模型或清理过的数据集视为代码中的一个漂亮的绘图 - 保留代码以防止您想要调整它,但将输出保存到文件中,这样您就不必运行每当你想看它时重新创建它的代码。

对于较大的项目,我尝试保持单个脚本的范围较小,并且我经常编写脚本(按照我希望从头开始运行它们的顺序),如Workflow for statistical analysis and report writing的答案所示。大多数脚本首先读取它们所依赖的对象,然后通过保存它们的输出来结束。

答案 1 :(得分:1)

函数save()创建R对象到指定文件的表示。之后,在某些情况下,可以使用函数load()attach()data()从指定的对象中读取对象,例如R内置数据集。 它允许保存您在.RData文件中创建的对象和函数。指示文件路径时包含.RData扩展名非常重要。 help文件将为您提供更多详细信息。

RStudio项目允许将您的工作划分为多个上下文,每个上下文都有自己的工作目录,工作空间,历史记录和源文档。 Create Project命令允许您在新目录或现有目录中创建项目。 .RData默认写入项目目录。它是工作空间管理的有用工具。你可以找到项目的完整详细描述'功能https://support.rstudio.com/hc/en-us/articles/200526207-Using-Projects