.libPaths()
[1] "\\\\per-homedrive1.corp.riotinto.org/homedrive$/Tommy.O'Dell/R/win-library/2.15"
[2] "C:/Program Files/R/R-2.15.2/library"
[3] "C:/Program Files/RStudio/R/library"
第一项是我公司的“我的文档”文件夹,而我姓氏路径中的撇号在我正在制作的包装上使用R CMD INSTALL --build
时会引起各种悲痛,更不用说使用的问题了当我从网络离线时安装的软件包。
我想使用C:/Program Files/R/R-2.15.2/library
作为默认值,但我不想依赖Rprofile.site
。
> .libPaths(.libPaths()[2:3])
> .libPaths()
[1] "C:/Program Files/R/R-2.15.2/library" "C:/Program Files/RStudio/R/library"
这似乎有效,但只有在我重新开始我的R会话之后,我才回到原来的.libPaths()输出......
Restarting R session...
> .libPaths()
[1] "\\\\per-homedrive1.corp.riotinto.org/homedrive$/Tommy.O'Dell/R/win-library/2.15"
[2] "C:/Program Files/R/R-2.15.2/library"
[3] "C:/Program Files/RStudio/R/library"
我想也许.libPaths()
正在使用R_LIBS_USER
> Sys.getenv("R_LIBS_USER")
[1] "//per-homedrive1.corp.riotinto.org/homedrive$/Tommy.O'Dell/R/win-library/2.15"
所以我试图使用Sys.unsetenv("R_LIBS_USER")
取消它,但它不会在会话之间持续存在。
如果重要,这里有一些可能相关的环境变量......
> Sys.getenv("R_HOME")
[1] "C:/PROGRA~1/R/R-215~1.2"
> Sys.getenv("R_HOME")
[1] "C:/PROGRA~1/R/R-215~1.2"
> Sys.getenv("R_USER")
[1] "//per-homedrive1.corp.riotinto.org/homedrive$/Tommy.O'Dell"
> Sys.getenv("R_LIBS_USER")
[1] "//per-homedrive1.corp.riotinto.org/homedrive$/Tommy.O'Dell/R/win-library/2.15"
> Sys.getenv("R_LIBS_SITE")
[1] ""
我已尝试过Sys.unsetenv("R_LIBS_USER")
,但这也不会在会话之间停留
答案 0 :(得分:20)
只需将Windows中的环境变量R_LIBS
设置为
R_LIBS=C:/Program Files/R/R-2.15.2/library
重启R.
答案 1 :(得分:15)
对这个问题的回答有点晚,但可能对其他人有用。 我订购了自己的路径(并删除了原来的路径):
.libPaths()
来检查当前库路径; R.home()
或Sys.getenv("R_HOME")
找到 R-Home 路径;
R-Home\R-3.2.2\etc\Rprofile.site
读取。因此,任何修改都将持续到每次运行R 。Rprofile.site
, .libPaths(.libPaths()[2])
.libPaths("d:/tmp/R/win-library/3.2")
如何运作?
Ctr+Shift+F10
)现在每次都会有效。
答案 2 :(得分:4)
在.Rprofile
set_lib_paths <- function(lib_vec) {
lib_vec <- normalizePath(lib_vec, mustWork = TRUE)
shim_fun <- .libPaths
shim_env <- new.env(parent = environment(shim_fun))
shim_env$.Library <- character()
shim_env$.Library.site <- character()
environment(shim_fun) <- shim_env
shim_fun(lib_vec)
}
set_lib_paths("~/code/library") # where "~/code/library" is your package directory
答案 3 :(得分:3)
我已将Sys.unsetenv("R_LIBS_USER")
命令放在我的Windows .Rprofile
文件夹中的"own documents"
文件中。似乎有所帮助。我的问题是,在活动目录环境中,当通过vpn连接时,R
upstart和程序包加载速度极慢。
答案 4 :(得分:0)
如果您想在RProfile
文件(@ library/base/R/
)执行此操作,则可以搜索设置了R_LIBS_*
个环境变量的行(例如Sys.setenv(R_LIBS_SITE=....)
和{ {1}})
您还可以搜索设置库树的代码Sys.setenv(R_LIBS_USER=.....)
。因此,您可以根据需要在.libPaths()
调用之前结合注释,取消设置和设置R_LIBS
变量来实现目标。对于例如类似的东西:
.libPaths()