我正在寻找一种灵活的方式来以编程方式获取包的Imports:
和Depends:
包。诀窍是该方法应该工作,无论包是否
devtools::load_all()
或所需功能:
package_deps("dplyr")
## [1] "assertthat" "bindrcpp" "glue" "magrittr" "methods" "pkgconfig"
## [7] "rlang" "R6" "Rcpp" "tibble" "utils"
请注意,版本号都被删除了。
我正在撰写这篇文章,因为它似乎已经存在了。 (毕竟,install.packages()
需要类似的功能。)我宁愿不必自己管理所有特殊情况。
答案 0 :(得分:3)
我维护的pacman包这样做:
if (!require("pacman")) install.packages("pacman")
pacman::p_depends(dplyr)
$Imports
[1] "assertthat" "bindrcpp" "glue" "magrittr" "methods"
[6] "pkgconfig" "rlang" "R6" "Rcpp" "tibble"
[11] "utils"
$LinkingTo
[1] "Rcpp" "BH" "bindrcpp" "plogr"
$Suggests
[1] "bit64" "covr" "dbplyr" "dtplyr"
[5] "DBI" "ggplot2" "hms" "knitr"
[9] "Lahman" "mgcv" "microbenchmark" "nycflights13"
[13] "rmarkdown" "RMySQL" "RPostgreSQL" "RSQLite"
[17] "testthat" "withr"