【问题标题】:What is the equivalent to R_HISTFILE for R data filesR 数据文件的 R_HISTFILE 等价于什么
【发布时间】:2015-01-17 13:46:33
【问题描述】:

.RData 文件开始侵入我的目录结构。我想在指定目录中保留一个。有没有类似R_HISTFILE这样的ENV变量?

这是参考 R 工作区的默认保存/恢复目录。

更新 JThorpe 的回答导致了以下解决方案:

  • 将 Env var RPROFILE_USER 设置为所需位置。我正在使用我的主目录

即:

export RPROFILE_USER=/Users/steve
  • 在该目录中使用 setwd 创建一个文件(设置工作目录)

即:

$cat  ~/.Rprofile
setwd('/Users/steve')

现在 .RData 将始终加载/保存到主目录(或您放入 setwd 的任何目录)

【问题讨论】:

    标签: r configuration


    【解决方案1】:

    我个人不喜欢让 R 在会话之间保留任何内容 b/c 由于会话之间持续存在的变量,因此很难找到错误。因此,我设置了“no-save”和“no-restore”选项,这样 R 既不会将其当前状态写入 .Rdata 文件,也不会尝试读取旧状态。如果我确实想保存一个 R 会话(这种情况很少发生),我会打电话给 savehistory()

    在 OSX 中设置命令行选项的方法可以在here 找到,下面介绍如何在 Windows 中为 R(或任何其他程序)设置命令行选项。

    要在 Windows 中设置不保存和不恢复选项,请右键单击用于启动 R 会话的 R 图标并选择“属性”选项。在属性框中,“目标”字符串应如下所示:

    “C:\Program Files\R\R-3.1.2\bin\i386\Rgui.exe”
    

    在这个字符串中,添加这个字符串'--no-save --no-restore'。请注意,每个双破折号之前都有一个空格。目标现在应该如下所示:

     “C:\Program Files\R\R-3.1.2\bin\i386\Rgui.exe” --no-save --no-restore
    

    单击“确定”或“应用”以保存这些选项。请注意,这些是按图标(快捷方式)设置。根据我在 R 会话中想要的设置,我有几个具有不同命令行选项的图标。可以找到 R 的其他命令行参数 here.

    【讨论】:

    • 这是您的意见,但确实回答了 OP。我更喜欢重新加载。如果您有另一个实际回答 OP 的答案,请随时添加。
    • 我怀疑 R 将 .Rdata 保存在当前工作目录中,并且您正在从终端启动 R,并且无论您打开 R,它都会留下一个 .Rdata 文件。如果您创建一个名为“ .Rprofile" 在此目录path.expand('~') 中,您可以调用setwd('\my\favorite\dir') 以在启动时设置它,或将调用setwd() 放在该文件中名为.last 的函数中以在退出时设置。有关详细信息,请参阅this page。这解决了保存问题,您需要执行类似的操作以在启动时读取正确的 .Rdata 文件。
    • 实际上您可能需要将上述建议放入您的Rprofile.site 文件中,详细说明here,因为R 仅在您当前的工作目录中查找.Rprofile...
    【解决方案2】:

    试试 Hmisc 包中的Load 命令。它为此使用LoadPath 选项。

    【讨论】:

    • 更新了 OP 以指定问题是关于工作区默认保存/恢复的位置。
    【解决方案3】:

    如果您创建一个.Rprofile 文件,您可以指定一个默认工作目录。请参阅?Startup 了解更多详细信息,包括设置站点范围配置文件的能力。我只是参考了那个帮助页面,以确保 .RData 会受到该设置的影响。

    【讨论】:

      猜你喜欢
      • 2012-02-06
      • 2020-02-25
      • 2013-03-29
      • 1970-01-01
      • 2023-01-17
      • 2021-12-29
      • 1970-01-01
      • 2017-10-29
      • 2011-02-03
      相关资源
      最近更新 更多