Strong parent packages: The packages listed in the Depends
, Imports
and LinkingTo
fields of the DESCRIPTION
of a package denoted as P. They are also called the strong direct dependency packages of P. Strong parent packages are enforced to be installed when installing package P. To make it easy to discuss, in the text we always refer parent packages to strong parent packages.
Strong dependency packages: The total packages by recursively looking for parent packages. They are also called upstream packages. Note strong dependency packages contain parent packages. Strong dependency packages are enforced to be installed when installing package P.
Heaviness of a package on its child packages: For a package denoted as P, assume it has \(K_c\) child packages and the kth child is denoted as Ak. Denote \(n_{1k}\) as the number of strong dependencies of Ak, and \(n_{2k}\) as the number of strong dependencies of Ak if moving P to Suggests
of Ak, the heaviness of P on its child packages denoted as \(h_c\) is calculated as follows:
\[ h_c=\frac{1}{K_c}\sum_{k=1}^{K_c}(n_{1k}-n_{2k})\]
The heaviness measures the average number of additional dependencies that P brings to its child packages.
Adjusted heaviness on child packages: Generally, the heaviness on child packages has a trend to decrease with increasing the number of child packages, since it is averaged on the children. To prioritize heavy parents with intermediate numbers of children and to decrease the heaviness values for small \(K_c\), a penalty term denoted as \(a\) is added to \(K_c\) as in the following equation where \(h_c^{adj}\) is the adjusted heaviness for a package on its children. Note \(a\) is set to the same value for all packages and \(a\) is empirically selected to 10.
\[ h_c^{adj}=\frac{1}{K_c+a}\sum_k^{K_c}(n_{1k}-n_{2k})=\frac{K_c}{K_c+a}\cdot h_c \]
Please note, the absolute value of \(h_c^{adj}\) is meaningless. It is only used for ordering packages.
The following two tabs visualize the distribution of heaviness verse number of child packages. We additionally categorize packages with adjusted heaviness > 30 as highly heavily affecting child packages and with adjusted heaviness between 15 and 30 as medianly heavily affecting child packages.
In the plots, colors (blue to yellow) are mapped to the “density” of the points distribution which are measured as the number of points in a circle with radius of 1% relative to the range both on x-axis and y-axis.
The highlighted packages in previous plots are listed in the following table. Packages are ordered by adjusted heaviness values. Clicking on the package names will lead to the HTML report of its dependency heaviness analysis. The complete table for all packages is avaiable at https://docs.google.com/spreadsheets/d/1lj2hnylR-TPaRKKI2qjA19uwwsm6-Tm8pRNpbmHv5p4/edit?usp=sharing.
Package | Repository | Number of child packages | Heaviness on child packages | Adjusted heaviness on child packages |
---|---|---|---|---|
Rcmdr | CRAN | 45 | 101.2 | 82.8 |
Seurat | CRAN | 38 | 85.3 | 67.5 |
lumi | Bioconductor | 13 | 114.2 | 64.5 |
RTCGA | Bioconductor | 9 | 128.0 | 60.6 |
minfi | Bioconductor | 38 | 62.4 | 49.4 |
tidyverse | CRAN | 89 | 48.4 | 43.5 |
survminer | CRAN | 27 | 58.2 | 42.5 |
taxize | CRAN | 12 | 77.4 | 42.2 |
devtools | CRAN | 80 | 47.0 | 41.8 |
GenomicScores | Bioconductor | 26 | 56.0 | 40.4 |
WGCNA | CRAN | 33 | 52.3 | 40.1 |
caret | CRAN | 180 | 41.0 | 38.8 |
car | CRAN | 183 | 40.6 | 38.5 |
brms | CRAN | 13 | 65.1 | 36.8 |
AER | CRAN | 22 | 52.6 | 36.2 |
ecospat | CRAN | 3 | 151.0 | 34.8 |
FactoMineR | CRAN | 52 | 41.2 | 34.5 |
ggpubr | CRAN | 125 | 37.0 | 34.3 |
Gviz | Bioconductor | 37 | 43.5 | 34.2 |
smacof | CRAN | 8 | 75.2 | 33.4 |
drc | CRAN | 17 | 51.1 | 32.1 |
TraMineR | CRAN | 7 | 77.1 | 31.8 |
Deducer | CRAN | 5 | 94.6 | 31.5 |
rms | CRAN | 54 | 36.8 | 31.0 |
MESS | CRAN | 9 | 63.8 | 30.2 |
fda | CRAN | 78 | 33.9 | 30.1 |
doBy | CRAN | 14 | 49.9 | 29.1 |
systemfit | CRAN | 16 | 47.3 | 29.1 |
biodb | Bioconductor | 9 | 61.0 | 28.9 |
factoextra | CRAN | 30 | 38.4 | 28.8 |
semPlot | CRAN | 8 | 64.0 | 28.4 |
Hmisc | CRAN | 248 | 29.4 | 28.3 |
ggbio | Bioconductor | 13 | 49.8 | 28.2 |
qgraph | CRAN | 35 | 35.6 | 27.7 |
ExperimentHub | Bioconductor | 98 | 30.4 | 27.6 |
matlib | CRAN | 7 | 64.6 | 26.6 |
DiagrammeR | CRAN | 45 | 32.0 | 26.2 |
agricolae | CRAN | 11 | 49.6 | 26.0 |
FlowSOM | Bioconductor | 4 | 89.0 | 25.4 |
biomod2 | CRAN | 2 | 149.5 | 24.9 |
rstanarm | CRAN | 7 | 58.0 | 23.9 |
clusterProfiler | Bioconductor | 34 | 30.7 | 23.8 |
diffcyt | Bioconductor | 3 | 103.3 | 23.8 |
flowDensity | Bioconductor | 3 | 101.0 | 23.3 |
sparklyr | CRAN | 17 | 37.1 | 23.3 |
DescTools | CRAN | 41 | 27.7 | 22.3 |
sva | Bioconductor | 37 | 28.1 | 22.1 |
pec | CRAN | 7 | 53.0 | 21.8 |
GSVA | Bioconductor | 16 | 35.3 | 21.7 |
geepack | CRAN | 27 | 29.6 | 21.6 |
VariantAnnotation | Bioconductor | 70 | 24.3 | 21.3 |
sampleSelection | CRAN | 3 | 92.0 | 21.2 |
fields | CRAN | 178 | 22.2 | 21.1 |
SpatialExperiment | Bioconductor | 12 | 38.1 | 20.8 |
DESeq2 | Bioconductor | 94 | 22.8 | 20.6 |
ensembldb | Bioconductor | 28 | 27.9 | 20.5 |
JWileymisc | CRAN | 3 | 88.7 | 20.5 |
haplo.stats | CRAN | 6 | 54.5 | 20.4 |
refund | CRAN | 5 | 60.6 | 20.2 |
MLInterfaces | Bioconductor | 4 | 69.8 | 19.9 |
lme4 | CRAN | 277 | 20.6 | 19.9 |
TFBSTools | Bioconductor | 9 | 41.9 | 19.8 |
nloptr | CRAN | 94 | 21.9 | 19.8 |
hypervolume | CRAN | 3 | 85.0 | 19.6 |
BSgenome | Bioconductor | 241 | 20.2 | 19.4 |
GenomicFeatures | Bioconductor | 189 | 20.1 | 19.1 |
beadarray | Bioconductor | 6 | 50.5 | 18.9 |
pammtools | CRAN | 4 | 66.2 | 18.9 |
flexsurv | CRAN | 18 | 29.1 | 18.7 |
forecast | CRAN | 125 | 20.1 | 18.6 |
epiR | CRAN | 9 | 39.2 | 18.6 |
klaR | CRAN | 9 | 39.2 | 18.6 |
MSnbase | Bioconductor | 24 | 26.2 | 18.5 |
phyloseq | Bioconductor | 27 | 25.4 | 18.5 |
rstan | CRAN | 130 | 19.8 | 18.4 |
kableExtra | CRAN | 67 | 21.0 | 18.3 |
dvmisc | CRAN | 5 | 53.8 | 17.9 |
missMDA | CRAN | 7 | 43.3 | 17.8 |
xcms | Bioconductor | 15 | 29.5 | 17.7 |
ChemmineR | Bioconductor | 12 | 32.3 | 17.6 |
qpgraph | Bioconductor | 3 | 76.3 | 17.6 |
pRoloc | Bioconductor | 2 | 104.0 | 17.3 |
AnnotationDbi | Bioconductor | 718 | 17.4 | 17.2 |
NMF | CRAN | 25 | 24.0 | 17.1 |
VIM | CRAN | 11 | 32.6 | 17.1 |
RTN | Bioconductor | 3 | 73.7 | 17.0 |
fdapace | CRAN | 10 | 34.0 | 17.0 |
testthat | CRAN | 130 | 18.2 | 16.9 |
biovizBase | Bioconductor | 9 | 35.2 | 16.7 |
weights | CRAN | 12 | 30.6 | 16.7 |
methylPipe | Bioconductor | 2 | 99.5 | 16.6 |
ibd | CRAN | 2 | 99.0 | 16.5 |
modeltime | CRAN | 8 | 37.0 | 16.4 |
motifStack | Bioconductor | 6 | 43.3 | 16.2 |
ArchaeoPhases | CRAN | 2 | 97.5 | 16.2 |
fda.usc | CRAN | 16 | 26.4 | 16.2 |
MBESS | CRAN | 11 | 30.9 | 16.2 |
biomaRt | Bioconductor | 96 | 17.7 | 16.1 |
adegenet | CRAN | 14 | 27.6 | 16.1 |
tmap | CRAN | 13 | 28.5 | 16.1 |
HH | CRAN | 6 | 43.0 | 16.1 |
randomForestSRC | CRAN | 6 | 42.8 | 16.1 |
affycoretools | Bioconductor | 1 | 176.0 | 16.0 |
geojsonio | CRAN | 10 | 31.6 | 15.8 |
mosaic | CRAN | 8 | 35.6 | 15.8 |
nnfor | CRAN | 6 | 42.0 | 15.8 |
golem | CRAN | 25 | 21.9 | 15.7 |
ez | CRAN | 10 | 31.1 | 15.6 |
mediation | CRAN | 6 | 41.7 | 15.6 |
sem | CRAN | 7 | 37.6 | 15.5 |
MethylAid | Bioconductor | 1 | 168.0 | 15.3 |
QFeatures | Bioconductor | 5 | 45.8 | 15.3 |
meta | CRAN | 16 | 24.8 | 15.3 |
AnnotationHub | Bioconductor | 97 | 16.7 | 15.2 |
CCA | CRAN | 4 | 53.2 | 15.2 |
timetk | CRAN | 15 | 25.2 | 15.1 |