package_dependencies {tools} | R Documentation |
Find (recursively) dependencies or reverse dependencies of packages.
package_dependencies(packages = NULL, db = NULL, which = c("Depends", "Imports", "LinkingTo"), recursive = FALSE, reverse = FALSE, verbose = getOption("verbose"))
packages |
a character vector of package names. |
db |
character matrix as from |
which |
a character vector listing the types of
dependencies, a subset of
|
recursive |
logical: should (reverse) dependencies of (reverse) dependencies (and so on) be included? |
reverse |
logical: if |
verbose |
logical indicating if output should monitor the package search cycles. |
Named list with one element for each package in argument packages
,
each consists of a character vector naming the (recursive) (reverse) dependencies
of that package.
For given packages which are not found in the db, NULL
entries are returned,
as opposed to character(0)
entries which indicate no dependencies.
dependsOnPkgs
, and package.dependencies
for checking
dependencies.
myPkgs <- c("MASS", "Matrix", "KernSmooth", "class", "cluster", "codetools") pdb <- available.packages() system.time( dep1 <- package_dependencies(myPkgs, db = pdb) # all arguments at default ) # very fast utils::str(dep1, vec.len=10) system.time( ## reverse dependencies, recursively --- takes much longer: deps <- package_dependencies(myPkgs, db = pdb, which = c("Depends", "Imports", "LinkingTo", "Suggests"), recursive = TRUE, reverse = TRUE) ) # seen ~ 10 seconds lengths(deps) # 2015-01-14: all are 7040, but codetools with 7046