【问题标题】:Seeking Functions in a Package not imported from other packages在一个包中寻找不是从其他包导入的函数
【发布时间】:2019-06-26 12:22:58
【问题描述】:

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

以下解决方案很好,但列表也重新导出了功能: Seeking Functions in a Package

【问题讨论】:

  • install.packages ("ggplot2", dependencies= "TRUE")

标签: r package


【解决方案1】:

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

【讨论】:

  • 对我来说,出口和进口也需要“取消列出”,但除此之外,这是一个不错的解决方案,谢谢!
【解决方案2】:

其实,我又找到了一种看起来效果不错的解决方案:

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

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

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

【讨论】:

  • 不错的解决方案(+1)。我会说我没有在我的机器上使用我的解决方案获得这些系统变量,但总的来说,我仍然更喜欢你的更简洁/更少涉及的方法而不是我的
猜你喜欢
  • 2018-04-05
  • 2018-03-31
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 2016-01-15
  • 2017-10-05
  • 1970-01-01
  • 2015-09-01
相关资源
最近更新 更多