首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在R中永久更改.libPaths()?

如何在R中永久更改.libPaths()?
EN

Stack Overflow用户
提问于 2014-06-24 21:15:34
回答 2查看 28.6K关注 0票数 41

每当我使用.libPaths()函数更改库路径顺序时,如果我重新启动R,它将恢复为默认顺序。我如何永久地更改此顺序?我正在Linux计算集群上工作(我没有管理员权限),所以我想永久地将我的本地库添加到R中。

每次启动R时,我都必须这样做

代码语言:javascript
复制
.libPaths(c("/home/...","/home...","/local/library"))
EN

回答 2

Stack Overflow用户

发布于 2020-06-10 06:57:24

在R安装文件夹中找到Rprofile文件(没有点

代码语言:javascript
复制
find -name Rprofile

#Getting something like:
#lib/R/library/base/R/Rprofile

打开文件并搜索:

代码语言:javascript
复制
invisible(.libPaths(c(unlist(strsplit(Sys.getenv("R_LIBS"), ":")),
                      unlist(strsplit(Sys.getenv("R_LIBS_USER"), ":") )
                      )))

注释其他路径并添加所需路径

代码语言:javascript
复制
invisible(.libPaths(c(#unlist(strsplit(Sys.getenv("R_LIBS"), ":")),
                      #unlist(strsplit(Sys.getenv("R_LIBS_USER"), ":") )
                      "/home/users/username/R/4.0.1/lib/R/library" # desired path
                      )))

这也很有用:(对于.bashrc文件)

代码语言:javascript
复制
export R_LIBS='/home/users/username/R/4.0.1/lib/R/library'
export R_LIBS_USER='/home/users/username/R/4.0.1/lib/R/library'
票数 5
EN

Stack Overflow用户

发布于 2020-06-10 04:11:41

在Mac上,我发现在“全新”安装中没有用户库,软件包都安装在特定版本的系统库中。最终,将创建一个用户库(可能是意外创建的,也可能是通过RStudio提示符创建的),并将其设置为将来安装包时的默认位置。因此,如果您没有密切关注,最终会得到一些安装在系统库中的包和一些安装在用户库中的包。

首先列出用户库,然后列出系统库:

代码语言:javascript
复制
.libPaths()
> [1] "/Users/<username>/Library/R/3.6/library"                         
> [2] "/Library/Frameworks/R.framework/Versions/3.6/Resources/library"

我喜欢把所有东西都放在一个地方(系统库),所以为了(永久地)实现这一点,我执行以下操作:

在终端窗口中,在用户目录中创建一个.Rprofile文件:

代码语言:javascript
复制
nano ~/.Rprofile

在该文件中,添加以下R代码行:

代码语言:javascript
复制
.libPaths( c(.libPaths()[2], .libPaths()[1]) )

或者,添加类似的R代码行,但具有硬编码路径:

代码语言:javascript
复制
.libPaths( c("/Library/Frameworks/R.framework/Versions/3.6/Resources/library", "/Users/<username>/Library/R/3.6/library") )

<username>替换为您的实际用户名。然后Ctrl-O (保存)和Ctrl-X (退出)该文件。

每一行都会切换上面列出的路径的顺序,因此路径[2] (system)是第一个(默认),路径[1] (user)是第二个。

重要的是,通过将这行代码放到用户的.Rprofile中,它将在R每次启动时运行,您(希望)不必再担心这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24387660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档