【问题标题】:R workspaces i.e. .R filesR 工作空间,即 .R 文件
【发布时间】:2010-08-31 19:33:15
【问题描述】:

如何在新会话中为该会话中的新对象启动新的 .R 文件默认值?

【问题讨论】:

    标签: r


    【解决方案1】:

    工作区是 .RData 文件,而不是 .R 文件。 .R 文件是源文件,即包含代码的文本文件。

    这有点棘手。如果您保存了工作区,那么 R 会在当前工作目录中保存两个文件:一个包含对象的 .RData 文件和一个包含命令历史记录的 .RHistory 文件。在早期版本的 R 中,它保存在 R 目录本身中。在我的 2.11.1 版本中,它使用桌面。

    如果您启动 R 并显示:“[以前保存的工作空间已恢复]”,那么它会从默认工作目录加载文件“.RData”和“.RHistory”。你可以通过命令找到那个

    getwd()
    

    如果不是桌面左右,那么你可以使用

    dir()
    

    看看里面有什么。对我来说这行不通,因为我那里只有“desktop.ini”文件(谢谢你,该死的Windoze)。

    现在有 2 个选项:您手动重命名工作区,或使用命令:

    save.image(file="filename.RData")
    

    在退出之前保存工作区。或者,您可以在文件 Rprofile.site 中设置这些选项。这是一个包含 R 必须在启动时运行的代码的文本文件。该文件位于 R 目录的子目录 /etc 中。您可以在文件底部添加如下内容:

    fn <- paste("Wspace",Sys.Date(),sep="")
    nfiles <- length(grep(paste(fn,".*.RData",sep=""),dir()))
    fn <- paste(fn,"_",nfiles+1,".RData",sep="")
    options(save.image.defaults=list(file=fn))
    

    注意:如果您通过单击消息框上的“是”来保存工作区,这将不起作用。你必须使用命令

    save.image()
    

    就在您关闭 R 会话之前。如果您单击“是”,它仍会将工作区保存为“.RData”,因此您必须再次重命名它。

    【讨论】:

    • R 加载我使用的最后一个 .RData。似乎默认问题“是否要保存工作区”将 .RData 保存到默认目录。但如果我只想保存刚刚创建的对象,当我对保存请求说“是”时,它会将它们添加到 .RData 文件中。
    • 确实如此。我还没有找到一个黑客来改变它。所以只要说“不”,然后使用“save.image()”或 save(object1,object2,...) 来保存你想要的东西。要删除已加载的已保存 .RData 文件,只需在启动会话时执行 getwd() 即可,并且您知道必须删除文件的位置。
    【解决方案2】:

    我相信您可以使用save.image() 保存当前工作区,默认名称为“.RData”。您只需使用load() 即可加载工作区。

    如果您正在加载预先存在的工作区并且您不希望这种情况发生,请重命名或删除当前工作目录中的 .RData 文件。

    如果你想拥有不同工作区的不同项目,最简单的做法是创建多个目录。

    【讨论】:

      【解决方案3】:

      会话、对象和控制文件.R 之间没有任何联系。简而言之:不需要。

      您可能会喜欢浏览Introduction to R - A Sample Session 末尾的工作示例。 在您的首选环境中启动 R 并逐个执行命令。

      【讨论】:

        猜你喜欢
        • 2019-12-16
        • 2016-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多