首页 > 解决方案 > 创建 .Renviron 中设置的用户库目录的最佳方法是什么?

问题描述

我正在努力寻找为我的团队设置 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 设置。

我目前的工作方式是:

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

标签: rlibrary-pathr-environment

解决方案


您可以在安装 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

推荐阅读