Obtain a network or igraph graph object of dependencies and reverse dependencies of packages at a given depth of recursion

neighborhood_graph(packages, level = 1L, type = "igraph",
  relation = c("Depends", "Imports", "LinkingTo", "Suggests", "Enhances"),
  strict = FALSE, interconnect = TRUE, ignore = c("datasets", "utils",
  "grDevices", "graphics", "stats", "methods"))

Arguments

packages

(non-empty character vector) Package names

level

(positive integer, Default: 1L) Depth of recursive dependency

type

(string, Default: "igraph") Graph object type. Either "network" or "igraph"

relation

(character vector) Types of graph edges. Must be a subset of c("Depends", "Imports", "LinkingTo", "Suggests", "Enhances")

strict

(logical, Default: TRUE) Whether to consider all packages (alternately only 'relation' specific packages) when computing dependencies for the next level

interconnect

(flag, Default: TRUE) Whether to capture dependency among packages (of a given level) of the next level (See examples)

ignore

package names to ignore

Value

A network or igraph graph object

See also

get_neighborhood, make_neighborhood_graph

Examples

# explore first level dependencies pkggraph::init(local = TRUE)
#> Using 'local' data ...
#> To fetch data from CRAN over internet, run:
#> `pkggraph::init(local = FALSE)`
#> Done!
pkggraph::neighborhood_graph("caret")
#> Error in get_all_dependencies(packages = packages, level = level, relation = relation, strict = strict, ignore = ignore): Unable to find `deptable`. Please run `pkggraph::init(local = TRUE)`.
# explore second level dependencies of class network pkggraph::neighborhood_graph("caret", level = 2, type = "network")
#> Error in get_all_dependencies(packages = packages, level = level, relation = relation, strict = strict, ignore = ignore): Unable to find `deptable`. Please run `pkggraph::init(local = TRUE)`.
# get 'imports' specific neighborhood of 'mlr' package with strict = TRUE neighborhood_graph("mlr" , level = 2 , strict = TRUE , interconnect = FALSE , relation = "Imports")
#> Error in get_all_dependencies(packages = packages, level = level, relation = relation, strict = strict, ignore = ignore): Unable to find `deptable`. Please run `pkggraph::init(local = TRUE)`.
# get 'imports' specific neighborhood of 'mlr' package with strict = FALSE neighborhood_graph("mlr" , level = 2 , strict = FALSE , interconnect = FALSE , relation = "Imports")
#> Error in get_all_dependencies(packages = packages, level = level, relation = relation, strict = strict, ignore = ignore): Unable to find `deptable`. Please run `pkggraph::init(local = TRUE)`.