列出使用R代码正是由给定包导入的包?

时间:2019-11-28 22:16:05

标签: r cran

要查看任何给定软件包导入了哪些软件包,我们可以访问手册,并在“ imports”下查看,或者如果存储库位于github上,则可以查看DESCRIPTION文件,但是我们该怎么做这个用R代码?

例如,如果这样的函数被称为imports(),并且在rvest包中被调用,则imports(rvest)将返回类似

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

注意:查看软件包导入哪个软件包的一种不太优雅的方法是开始一个全新的R会话,查看已加载的软件包,然后加载有问题的软件包,并比较列表(如果还有更多的已加载软件包,这些是由相关程序包导入的)-但我不希望使用此方法,因为它将需要频繁启动新的R会话。

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

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