Ric*_*ton 36 namespaces r
给定一个函数,您如何确定它来自哪个命名空间?
例如,如果我mean.default在命令提示符下键入,则输出包括它在基本包中的事实.我希望能够做类似的事情getNamespace(mean.default)并让它返回"基础"(或实际的基础环境).
有一个getNamespace函数,但似乎只接受包名而不是函数名.
print.function使用内部代码来检索命名空间.我得到尽可能浏览do_printfunction中src/main/print.c,但后来又放弃了.
Dir*_*tel 35
我最近才知道find()这似乎就是这样做的.
R> find("ls")
[1] "package:base"
R> find("na.locf")
[1] "package:zoo"
Run Code Online (Sandbox Code Playgroud)
Jos*_*ich 14
findFunction是另一种选择,并?findFunction说,你应该用它代替find用mode="function".结果findFunction是函数的可见版本所在的环境列表.
had*_*ley 12
你想要getNamespaceName+ environment:
getNamespaceName(environment(mean.default))
# [1] "base"
Run Code Online (Sandbox Code Playgroud)