我知道mvbutils
中有ls("package:grid")
和find.funs("package:grid")
,但显然它们都找不到只能在内部或:::
或getAnywhere
中访问的非导出函数和方法.
我必须在源代码包的/R
目录中找到文件的源代码,并在干净的全局环境中使用ls()
,但必须有更好的方法,不是吗?
我知道mvbutils
中有ls("package:grid")
和find.funs("package:grid")
,但显然它们都找不到只能在内部或:::
或getAnywhere
中访问的非导出函数和方法.
我必须在源代码包的/R
目录中找到文件的源代码,并在干净的全局环境中使用ls()
,但必须有更好的方法,不是吗?
你可以使用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"
stats
包中的cbind.ts
是看不见的,但可以在envir = asNamespace("stats")
包中找到.