R.Library和libpath()返回不同的结果

R.Library和libpath()返回不同的结果,r,system,R,System,libpaths()返回有效结果: "D:/R/R-3.3.3/library" 但是.Library返回的结果无效: "D:/R/R-33~1.3/library" 这是预期的还是不预期的?使用Mac我还可以获得两种不同的路径: .Library #[1]“/Library/Frameworks/R.framework/Resources/Library” .libPaths() #[1]“/Library/Frameworks/R.framework/Versions/3.6/Resou

libpaths()返回有效结果:

"D:/R/R-3.3.3/library"
但是.Library返回的结果无效:

"D:/R/R-33~1.3/library"

这是预期的还是不预期的?

使用Mac我还可以获得两种不同的路径:

.Library
#[1]“/Library/Frameworks/R.framework/Resources/Library”
.libPaths()
#[1]“/Library/Frameworks/R.framework/Versions/3.6/Resources/Library”
文档中有关于
.Library
(我的重点):

.Library是一个字符串,表示R_HOME的“Library”子目录默认库的位置

这是关于
.libPaths()
(我的重点):

.libpath用于获取或设置R知道的库树(因此在查找包时使用)


事实上,两条路径都通过不同的路由指向同一目录,因为第一条路径中的
资源
是指向第二条路径中相同
资源
的别名。主要区别在于第二条路径中的
Versions
包含不同版本的多个目录(所谓的“R知道的库树”)。版本3.6目前是我的默认库,这就是为什么
.library
也指向它的原因。我假设相同的逻辑适用于Windows。

它们应该是相同的

但是,在windows中,不能直接使用.Library的值来定位文件夹

但当我使用libpath和.Library创建文件夹时,结果位于同一文件夹中~


因为我认为这很有帮助,所以我在这里发布了我自己问题的答案。

(讨论了
.libpath
和我推断的
.libpath()
,因为我的R-3.5.3中没有
libpath
)。该路径可能看起来无效,但有时在windows上,某些路径需要编码为8字符的排序映射。这就是我所看到的(虽然我的win10系统没有表现出相同的症状)。首先感谢您的详细回答,您确定这两条路径指向同一个文件夹吗?在我的win10系统中,我无法使用路径。库给了我,系统告诉我win10系统中不存在路径。当我尝试进入D:/R/R-33~1.3/库时,系统告诉我windows找不到路径path@cloudscomputes是的,他们当然喜欢。当我手动导航到finder中的每个库并复制路径时,它们是相同的。此外,如果我在一个路径中创建文件夹,它也会出现在另一个路径中。也许R for Windows不知道如何处理快捷方式/别名?