1

我正在努力寻找为我的团队设置 R 的最佳方式。因为我们的机构在网络共享上拥有用户主目录,所以 R 用户库默认为此网络共享。经过一番研究,我发现在 .Renviron 文件中设置 R_LIBS_USER 是最有用的(就像rstudio 论坛中所述),正如同一篇文章中所述,它不会在安装新版本的 R 后自动创建此目录,因此 . libPaths() 默认为 C:/Program Files/R/../.. (忽略 R_LIBS_USER)

在下面的问题中,同样的问题是在 6 年前提出的。接受的答案没有帮助,因为它建议制作一个与版本无关的用户库。我不想在我的库中使用这些旧包。 为什么每次 R 升级都必须手动创建目录“~/R/%p-library/%v”?

我也尝试在 .Rprofile 中设置 .libPaths,但使用 .Renviron 文件感觉更高效,所以我更喜欢使用它。这也允许用户在他们的项目中使用他们自己的 .Rprofile 设置。

我目前的工作方式是:

  • .Renviron 文件R_LIBS_USER=C:/Users/[user]/R/%p-library/%v
  • 每个用户在新的 R 安装后调用此命令dir.create(Sys.getenv('R_LIBS_USER'), recursive = TRUE)

我想知道自动创建 R_LIBS_USER 文件夹的最佳/最干净的设置是什么,因此重新安装 R 不需要用户可能忘记的任何手动操作。

4

1 回答 1

0

您可以在安装 R 后编写一个小的 powershell 脚本来运行,该脚本将创建您喜欢的任何目录/文件。可以在此处找到一个简单的示例- 只需调整代码以包含您喜欢的任何环境变量。

一个简单的例子

将以下代码行放在一个文本文件中,并使用.ps1文件扩展名保存它(或者如果你想测试它,只需将代码直接复制/粘贴到 powershell 提示符中)。

Add-Content c:\Users\$env:USERNAME\Documents\.Renviron "TEST_VARIABLE_1=my_username"

上面的代码行将创建一个.Renviron在指定目录中调用的文件,并将环境变量附加到该文件中(因此它以标准方式TEST_VARIABLE加载到 R中)。.Renviron

显然,您可以以相同的方式添加尽可能多的变量(只需复制代码行以包含您喜欢的任何环境变量)。

您还可以轻松地将.Renviron文件的位置调整为您想要的任何位置,包括网络驱动器。

另请注意,您可以像这样轻松地在 powershell(而不是文件)中创建目录

例如

New-Item -ItemType directory -Path C:\Scripts\newDir
于 2019-08-08T12:45:11.683 回答