首页 文章

在R Studio中保存

提问于
浏览
9

我试图弄清楚R Studio中的保存是如何工作的 .

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

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

有人可以解释一下使用R Studio时保存的最佳实践以及.RProj和.RData文件之间的关键区别吗?

2 回答

  • 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

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

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

相关问题