R/RStudio:.libPaths()不会追加或覆盖库树

R/RStudio:.libPaths()不会追加或覆盖库树,r,R,我需要在R中设置库路径以供一次使用(即,我不想也不能在Rprofile.site中设置它,也不能将其他包放入默认库) 我试图用.libpath()附加到库路径并覆盖库路径,但两者都不起作用;道路没有改变。请参阅下面我的尝试 由于我看到的例子实际上与我的尝试相同,我有一种感觉,这可能是一个授权问题:我根本没有权利改变道路 我已搜索stackoverflow,但问题/解决方案与我的问题不匹配。有什么建议吗?不,也没用 我的环境是Mac(High Sierra),R3.4.3,RStudio 1.1.

我需要在R中设置库路径以供一次使用(即,我不想也不能在
Rprofile.site
中设置它,也不能将其他包放入默认库)

我试图用
.libpath()
附加到库路径并覆盖库路径,但两者都不起作用;道路没有改变。请参阅下面我的尝试

由于我看到的例子实际上与我的尝试相同,我有一种感觉,这可能是一个授权问题:我根本没有权利改变道路

我已搜索stackoverflow,但问题/解决方案与我的问题不匹配。有什么建议吗?不,也没用

我的环境是Mac(High Sierra),R3.4.3,RStudio 1.1.423,R新手用户(不是
root

谢谢

原始路径

> .libPaths()
[1] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library"
> .Library
[1] "/Library/Frameworks/R.framework/Resources/library"
尝试追加

> .libPaths( c( .libPaths(), "<some_other_valid_path>") )
> .libPaths()
[1] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library"
> .Library
[1] "/Library/Frameworks/R.framework/Resources/library"
.libpath(c(.libpath(),“”) >.libPaths() [1] “/Library/Frameworks/R.framework/Versions/3.4/Resources/Library” >.图书馆 [1] “/Library/Frameworks/R.framework/Resources/Library” 试图覆盖

> .libPaths("<some_other_valid_path>")
> .libPaths()
[1] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library"
> .Library
[1] "/Library/Frameworks/R.framework/Resources/library"
.libpath(“”)
>.libPaths()
[1] “/Library/Frameworks/R.framework/Versions/3.4/Resources/Library”
>.图书馆
[1] “/Library/Frameworks/R.framework/Resources/Library”

我想你只是把自己弄糊涂了。只需将一个目录添加到prepend:

R> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" 
[3] "/usr/lib/R/library"           
R> .libPaths("/tmp")
R> .libPaths()
[1] "/tmp"                    "/usr/local/lib/R/site-library" 
[3] "/usr/lib/R/site-library" "/usr/lib/R/library"           
R> 
新版本首先出现,因此将首先用于安装或通过
library()
等进行搜索

您不能从现有会话中覆盖,这就像切割您所坐的树枝一样


但请务必参阅
帮助(启动)
。还有其他文件,即使在每个当前目录级别上,您也可以使用

我想你只是把自己弄糊涂了。只需将一个目录添加到prepend:

R> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" 
[3] "/usr/lib/R/library"           
R> .libPaths("/tmp")
R> .libPaths()
[1] "/tmp"                    "/usr/local/lib/R/site-library" 
[3] "/usr/lib/R/site-library" "/usr/lib/R/library"           
R> 
新版本首先出现,因此将首先用于安装或通过
library()
等进行搜索

您不能从现有会话中覆盖,这就像切割您所坐的树枝一样


但请务必参阅
帮助(启动)
。还有其他文件,即使在每个当前目录级别上,您也可以使用

谢谢你的反馈,德克!我确实对
.libPaths
的工作原理感到困惑,感谢您的澄清


根据您的示例,我意识到问题在于我无法访问附加目录
.libPaths()
内部调用
dir.exists()
,由于不可访问性而返回
false
,因此新目录未添加到路径中。我只需要弄清楚如何提供访问权限。

谢谢你的反馈,德克!我确实对
.libPaths
的工作原理感到困惑,感谢您的澄清


根据您的示例,我意识到问题在于我无法访问附加目录
.libPaths()
内部调用
dir.exists()
,由于不可访问性而返回
false
,因此新目录未添加到路径中。我只需要弄清楚如何提供访问。

介意分享
的确切值吗?例如,您是否保留或删除路径规范中的任何尾随
“/
”?我无法共享确切的值,但它没有以
/
结尾。请看,下面是我对原因和解决方案的解释。很高兴听到。如果德克的答案解决了你的问题,你可能想给它打个勾,让别人知道它已经解决了。介意分享一下
的确切值吗?例如,您是否保留或删除路径规范中的任何尾随
“/
”?我无法共享确切的值,但它没有以
/
结尾。请看,下面是我对原因和解决方案的解释。很高兴听到。如果德克的答案解决了你的问题,你可能想打个勾,让别人知道问题已经解决了。