【发布时间】:2019-06-26 12:22:58
【问题描述】:
我想获取在包中定义并导出的函数列表,而不是从其他包中导入的函数列表?
以下解决方案很好,但列表也重新导出了功能: Seeking Functions in a Package
【问题讨论】:
-
install.packages ("ggplot2", dependencies= "TRUE")
我想获取在包中定义并导出的函数列表,而不是从其他包中导入的函数列表?
以下解决方案很好,但列表也重新导出了功能: Seeking Functions in a Package
【问题讨论】:
getNamespaceExports() 在one of the answers 中提到您链接的问题;幸运的是,它有一个伴侣,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
【讨论】:
其实,我又找到了一种看起来效果不错的解决方案:
unclass(lsf.str(envir = asNamespace('myPackage')))
好处是我没有得到这些系统变量:
"system.file" "library.dynam.unload" ".__global__"
【讨论】: