我知道ls("package:grid")
中的find.funs("package:grid")
和mvbutils
,但显然他们都找不到只能在内部访问或使用:::
或{{{{}}}的非导出函数和方法1}}。
我必须在源包的getAnywhere
目录中获取文件并在干净的全局环境中使用/R
,但必须有更好的方法,不是吗?
答案 0 :(得分:33)
您可以使用asNamespace
:
> methods(cbind)
[1] cbind.data.frame cbind.grobGrid cbind.ts*
Non-visible functions are asterisked
> r <- unclass(lsf.str(envir = asNamespace("stats"), all = T))
> r[grep("cbind.ts", r)]
[1] ".cbind.ts" "cbind.ts"
cbind.ts
包中的 stats
不可见,但可以在envir = asNamespace("stats")
中找到。
答案 1 :(得分:25)
这里似乎是perennial。
如果这是一个单行,你应该是竞争者(@Joshua):
ls(getNamespace("grid"), all.names=TRUE)
(链接是在之后之后被问到的问题,但密切相关)。
由于grid
是一个基础包,我还没有升级到 R 3 ...... 我在版本2.15.1中获得了756个函数。与unclass
解决方案中的503相比。