当我从命令行运行 R 时:
> library(ggplot2)
...
> path.package('ggplot2')
[1] "/home/yang/R/x86_64-pc-linux-gnu-library/2.13/ggplot2"
> .libPaths()
[1] "/home/yang/R/x86_64-pc-linux-gnu-library/2.13"
[2] "/usr/local/lib/R/site-library"
[3] "/usr/lib/R/site-library"
[4] "/usr/lib/R/library"
> Sys.getenv('R_LIBS_USER')
[1] "~/R/x86_64-pc-linux-gnu-library/2.13"
(注意:当我从 shell 中检查时,该环境变量实际上不存在。)
但是从在同一机器上运行的 RStudio Server 并以同一用户身份登录后:
> path.package('ggplot2')
[1] "/home/yang/R/library/ggplot2"
> .libPaths()
[1] "/home/yang/R/library" "/usr/local/lib/R/site-library"
[3] "/usr/lib/R/site-library" "/usr/lib/R/library"
[5] "/usr/lib/rstudio-server/R/library"
> Sys.getenv('R_LIBS_USER')
[1] "/home/yang/R/library"
您能解释一下为什么默认情况下这些不同吗?这是 RStudio 定制吗? (为什么?)提前致谢。
来源直接回答:
http://support.rstudio.org/help/discussions/questions/204-r-libpaths-difference- Between-rstudio-and-command-line-r
你好呀,
是的,我们有一个自定义的 R_LIBS_USER 设置,旨在使其
更轻松地将服务器升级到新版本的 R,无需
每个用户重命名他们的库目录和/或重新构建他们的
包。这样管理员就可以无忧无虑地进行升级
他们会破坏用户的工作环境(意识到这
也可以通过编写一个升级脚本来完成
每个用户必需的重命名/重建)。
完全同意这并不一定在所有情况下都是可取的。这里
您可以采取以下措施来解决这个问题:
Rtudio服务器R_LIBS_USER由以下设置控制
在 /etc/rstudio/rsession.conf 中:
r-libs-user=~/R/library
该变量支持与 R_LIBS_USER 相同的通配符(如
此处描述:http://stat.ethz.ch/R-manual/R-patched/library/base/html/libPaths.html)
所以你可以将其更改为以下内容以使 RStudio 表现得恰如其分
就像控制台 R 一样:
r-libs-user=~/R/%p-library/%v
(请注意,我相信这是重现目录的正确语法
如上面的输出所示,但您肯定需要仔细检查
那)
希望能够解决问题并且您可以将事情配置为
你想。如果您还有其他问题或者这没有问题,请告诉我们
按描述工作。
J.J.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)