每当我使用该.libPaths()函数更改库路径顺序时,如果我重新启动R,它将恢复为默认值.如何永久更改此值?我正在研究Linux计算集群(我没有管理员权限)所以,我想永久地将我的本地库添加到R.
我每次开始做R都必须这样做
.libPaths(c("/home/...","/home...","/local/library"))
Run Code Online (Sandbox Code Playgroud)
Dir*_*tel 16
为了完整性,我无法在评论中显示:
1)所有带有R包的Debian和Ubuntu系统的默认值:
edd@max:~$ R -q -e 'print(.libPaths())'
R> print(.libPaths())
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"
[3] "/usr/lib/R/library"
R>
R>
Run Code Online (Sandbox Code Playgroud)
2)我们可以通过修改来改变R_LIBS_SITE:
edd@max:~$ R_LIBS_SITE="/usr/lib/R/Library" R -q -e 'print(.libPaths())'
R> print(.libPaths())
[1] "/usr/lib/R/library"
R>
R>
Run Code Online (Sandbox Code Playgroud)
3)但是修改R_LIBS不会不工作:
edd@max:~$ R_LIBS="/usr/lib/R/Library" R -q -e 'print(.libPaths())'
R> print(.libPaths())
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"
[3] "/usr/lib/R/library"
R>
R>
edd@max:~$
Run Code Online (Sandbox Code Playgroud)
请参阅help(Startup)完整详细的治疗方法.在Debian和Ubuntu上,我们将这三个目录设置为十年来的默认目录.通过R_LIBS_SITE此处设置,这是您需要在此处更改的变量.通常,您需要覆盖保存值的变量,您可能不知道事先是哪一个.
至于原始答案,在Debian和Ubuntu上我们使用该文件/etc/R/Renviron.作为help(Startup)详细信息,您可以设置任意数量的方法来永久地为您的启动更改它- 所有这些点适用于所有不同的操作系统:
Renviron或者Renviron.site 如果您具有适当的权限~/.RenvironR_LIBS或者R_LIBS_USER或者R_LIBS_SITE在系统级,如果你有适当的权限R_LIBS或R_LIBS_USER或R_LIBS_SITE在用户级别..libPaths(...new path to be added here...)您的R启动文件,例如.Rprofile.请参阅help(Startup)更全面的讨论.
Fer*_*oao 10
在R安装文件夹中找到该Rprofile文件(无点)
find -name Rprofile
#Getting something like:
#lib/R/library/base/R/Rprofile
Run Code Online (Sandbox Code Playgroud)
打开文件并搜索:
invisible(.libPaths(c(unlist(strsplit(Sys.getenv("R_LIBS"), ":")),
unlist(strsplit(Sys.getenv("R_LIBS_USER"), ":") )
)))
Run Code Online (Sandbox Code Playgroud)
评论其他路径并添加您想要的路径
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
)))
Run Code Online (Sandbox Code Playgroud)
这也很有用:(对于.bashrc文件)
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'
Run Code Online (Sandbox Code Playgroud)
2个主要解决方案:
在.Rprofile你可以留下设置的代码 .libPaths()
只需将适当的环境变量(例如R_LIBS在 Windows 或R_LIBS_SITE=Linux 等中)设置为您喜欢的任何内容,例如
R_LIBS=C:/R/Library
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
16800 次 |
| 最近记录: |