在未从其他软件包导入的软件包中寻找功能

时间:2019-06-26 12:22:58

标签: r package

我想获取在程序包中定义并导出的功能列表,而不是从其他程序包中导入的功能列表?

以下解决方案很好,但是list也可以重新导出: Seeking Functions in a Package

2 个答案:

答案 0 :(得分:3)

one of the answers中提到了您链接的问题

getNamespaceExports();幸运的是,有一个伴侣getNamespaceImports()。然后,我们可以在两者之间找到setdiff()。例如:

devtools_exports <- getNamespaceExports("devtools")
devtools_imports <- getNamespaceImports("devtools")
devtools_exported_not_imported <- setdiff(devtools_exports, devtools_imports)
"install_github" %in% devtools_exports
# [1] TRUE
"install_github" %in% devtools_exported_not_imported # comes from remotes
# [1] FALSE

答案 1 :(得分:1)

实际上,我发现了另一个似乎很好用的解决方案:

unclass(lsf.str(envir = asNamespace('myPackage')))

好处是我没有得到这些系统变量:

 "system.file"          "library.dynam.unload" ".__global__"