r - 创建 .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 设置。
我目前的工作方式是:
- .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 不需要用户可能忘记的任何手动操作。
解决方案
您可以在安装 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
推荐阅读
- spring - Rest Template GET 列表和 testBuilder 方法问题 Spring
- spring - 如何使用 Spring JPA Repository 搜索带有撇号的字符串
- c# - 如何在初始化列表之前在查询中获取值
- apache-kafka - 用于数据库字段更新的 Kafka/Connect/Streams
- python - 使用 Python tesseract 从具有二维数组的图像中提取数字
- hyperledger-fabric - 我可以在交易中存储什么?
- firebase - hoek原型污染是否容易受到firebase包的影响?
- android - 地理围栏不再适用于 JobIntentService
- java - 在添加另一个 Spring MVC 项目作为依赖项后 Spring Boot 找不到合适的 URL 映射
- php - WampServer 从 2.5 更新到 3.1.3 版本