在R,这是什么意思对于要在“通过命名空间加载(而不是附后)”一包sessionInfo()
编辑 :
例如:
> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
---->>>> loaded via a namespace (and not attached):
---->>>> [1] tools_2.15.2
这意味着该包(在这种情况下R)可以访问包的功能/对象,但用户无法而不显式加载,其中作为统计数据,图形等被加载,并准备去用户的工具包。
下面是一个例子:
sessionInfo()
file_ext("file.com")
tools::file_ext("file.com")
sessionInfo()
当一个评估library(foo)
,R首先加载软件包foo到存储器中,然后附着封装到search()
路径。 其他操作,如loadNamespace("foo")
或foo::fun
,或当第三方表明它导入符号从富,装载包,但不要将其连接到搜索路径。 由于R是一种动态语言,每个函数调用涉及可用符号遍历查找匹配的第一个。 它是有效的,并且避免了不必要的名称冲突,通过分离连接和装载操作,并因此限制符号来搜索的数目。
在上面的例子中,工具包已经被加载,但(还)没有连接。 当一个类型中在R命令提示的符号,R查找该第一符号在全局命名空间(由返回的第一个元素search()
并且如果不是在连续元素然后发现search()
由于工具不附在工具符号都没有解决。
> file_ext
Error: object 'file_ext' not found
尽管如此,人们对其的访问权tools::file_ext
,工具是否搜索路径或不上。