【问题标题】:R: Is there a way to specify TMPDIR in .Renviron based on $HOME or ~?R:有没有办法在 .Renviron 中基于 $HOME 或 ~ 指定 TMPDIR?
【发布时间】:2016-09-17 23:15:05
【问题描述】:

我正在寻找一种简单的学生证明方法来在 R 会话中指定自定义 TMPDIR

R 似乎无法扩展~$USER,所以如果我只是在.Renviron 中写入TMPDIR=~/tmpTMPDIR=$HOME/tmp,它不会找到该文件夹​​,而是使用/tmp,它安装在@ 987654328@,导致某些包编译错误。我必须改用文件夹的完整路径,每个学生的路径都不一样。

我知道的解决方法是在Bash中设置TMPDIR并在调用R之前将其导出,我想知道是否有更简单的方法不依赖于实际的主目录路径。理想情况下,我想为所有学生提供相同的 .Renviron 文件,并且根本不让他们使用 shell。

【问题讨论】:

  • 我不确定为什么这不起作用,但是将 local({ Sys.setenv("TMPDIR" = sprintf("%s/tmp", path.expand("~"))) }) 放入 $R_HOME/etc/Rprofile.site 会在我的机器上正确设置 TMPDIR 变量(回复:Sys.getenv("TMPDIR") 的行为符合预期)。但是,我没有通过编译包来测试这一点。
  • 感谢 nrussell 的想法 - 但它不起作用,我想在 .Rprofile 中设置 TMPDIR 已经太晚了。即使没有安装任何东西,您也可以通过调用 tempdir() 来测试它是否有效。

标签: r environment-variables tilde-expansion


【解决方案1】:

我知道你发布这个问题已经有一段时间了,但我一直在这样使用它:

TMPDIR = "${HOME}/tmp"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多