我需要在R中设置库路径以供一次性使用(即我不希望也不能在Rprofile.site
中设置它并且不能将其他包放入默认库中。)
我尝试追加并用.libPaths()
覆盖库路径,但都没有奏效;路径保持不变。请参阅下面的尝试。
由于我看到的实例与我的尝试有效,我觉得这可能是一个授权问题:我根本无权改变路径。
我搜索过stackoverflow,但问题/解决方案与我的问题不符。有什么建议?不,turning it off and on again无济于事。
我的环境是Mac(High Sierra),R 3.4.3,RStudio 1.1.423,R newbie user(不是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"
试图覆盖
> .libPaths("<some_other_valid_path>")
> .libPaths()
[1] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library"
> .Library
[1] "/Library/Frameworks/R.framework/Resources/library"
答案 0 :(得分:3)
我想你只是困惑自己。只需添加一个目录即可:
public static Map<String, Object> map = new HashMap<String, Object>();
map.put("id", "2");
map.put("name", "TEST");
新的第一个将首先用于进行安装,或通过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()
。您可以使用其他文件,即使在每个当前目录级别也是如此。
答案 1 :(得分:0)
感谢您的反馈,德克!我确实对.libPaths
如何运作感到困惑,谢谢你的澄清。
根据您的示例,我意识到问题是我无法访问其他目录。 .libPaths()
内部调用由于不可访问性而返回dir.exists()
的{{1}},因此新目录未添加到路径中。我只需要弄清楚如何提供访问权限。