Dependency analysis on package blackbox

General information

CRAN link link
Package version1.1.32
Number of strong dependencies66
Number of all dependencies69
Number of parent packages12
Max heaviness from parent packages8
Total heaviness from parent packages13
Number of parent packages (including Suggests and Enhances)16
Max co-heaviness from parent packages ("spaMM" and "nloptr")33

Dependency heatmap

In the following dependency heatmap, rows are the parent packages of blackbox and columns are the dependency packages that each parent package brings in. On the right side of the heatmap, there are three barplot annotations: 1. number of imported functions/S4 methods/S4 classes from parent packages; 2. number of dependency packages from each parent package; 3. heaviness of each parent package on blackbox.

Adjust heatmap size:
Base packages Other packages Imports LinkingTo Suggests utils methods stats graphics grDevices grid tools parallel Rcpp magrittr pkgconfig crayon brio callr cli desc digest ellipsis evaluate jsonlite lifecycle pkgload praise processx ps R6 rlang waldo withr glue rprojroot rstudioapi diffobj fansi rematch2 tibble pillar vctrs utf8 Matrix lattice magic lpSolve linprog RcppProgress abind testthat codetools iterators MASS proxy nlme nloptr minqa pbapply gmp ROI boot geometry RcppEigen registry slam numDeriv RcppArmadillo 0 5 10 Imported methods 0 20 40 60 Required packages 0 2 4 6 8 Heaviness from parents numDeriv rcdd pbapply proxy Rcpp foreach lattice MASS geometry nloptr spaMM RcppEigen minqa lbfgsb3c igraph testthat In total 66 packages are required directly or indirectly (69) when installing 'blackbox' (1.1.32) Imports LinkingTo Suggests Base packages that are required Recommended packages that are required Contributed packages that are required Packages that are required for installing 'blackbox' Imported functions Package is listed in 'Imports' but namespace is not imported


Dependency table

"Import" information is from the NAMESPACE file of blackbox.

imports: number of imported functions/objects; importMethods: number of imported S4 methods; importClasses: number of imported S4 classes.

Required packages: number of strong dependency packages for each of the parent package (or in other words, number of dependency packages the parent package brings in).

Heaviness from parent on blackbox: number of required packages that can be reduced if moving parent package to Suggests of blackbox.

Parent package Field imports importMethods importClasses Required packages Heaviness from parent on blackbox
spaMM Imports 9 0 0 60 8
foreach Imports Parent package is listed in Imports of blackbox but no object from parent package is imported. 3 3
numDeriv Imports 3 0 0 0 1
rcdd Imports 10 0 0 1 1
pbapply Imports 2 0 0 1 0
proxy Imports 1 0 0 2 0
Rcpp Imports 1 0 0 2 0
lattice Imports 1 0 0 5 0
MASS Imports 1 0 0 5 0
geometry Imports 2 0 0 8 0
nloptr Imports 1 0 0 37 0
RcppEigen LinkingTo Parent package is listed in LinkingTo of blackbox but no object from parent package is imported. 9 0
lbfgsb3c Suggests No object is imported into the namespace of blackbox. 6 2
igraph Suggests No object is imported into the namespace of blackbox. 10 1
minqa Suggests No object is imported into the namespace of blackbox. 3 0
testthat Suggests No object is imported into the namespace of blackbox. 36 0

The following table lists pairs of parent packages with co-heaviness larger than 10. The co-heaviness measures the number of additional dependencies that two parent packages simultaneously import and are only imported by the two parents.

Note the co-heaviness from parents can be always easily observed in the dependency heatmap.

Parent 1 Parent 2 Co-heaviness on blackbox Co-heaviness as Jaccard coeffcient
nloptr spaMM 33 0.805

Analysis was done with pkgndep.