使用 R 代码精确列出给定包导入的包?

  • 本文关键字:包导入 导入 代码 使用 r cran
  • 更新时间 :
  • 英文 :


要查看任何给定包导入了哪些包,我们可以访问手册,并在"导入"下查看,或者如果存储库在 github 上,我们可以查看DESCRIPTION文件,但是我们如何使用 R 代码执行此操作?

例如,如果调用这样的函数imports(),并且在 rvest 包上调用它,那么imports(rvest)将返回类似

[1] httr (>= 0.5), magrittr, selectr

注意:查看包导入哪些包的一种不太优雅的方法是启动一个新的 R 会话,查看加载的包,然后加载有问题的包,并比较列表(如果有更多加载的包,则这些包是由有问题的包导入的( - 但我不喜欢使用此方法,因为它需要经常启动新的 R 会话。

你应该看看utilsR 包中的packageDescription函数: https://stat.ethz.ch/R-manual/R-devel/library/utils/html/packageDescription.html。 它正是这样做的,解析DESCRIPTION文件并返回包含结果的命名列表。

对于托管在 CRAN(或某些指定的 R 存储库(上的包,此信息在available.packages()返回的矩阵中已经很方便:

a1 <- available.packages()
a1["rvest","Imports"]
## [1] "httr (>= 0.5), magrittr, selectr"

最新更新