Dependency graph


Authors: Brian Schilder, Alan Murphy, Hiranyamaya (Hiru) Dash, Nathan Skene


Vignette updated: Jan-08-2026

library(data.table)
## Warning: package 'data.table' was built under R version 4.5.2

A dependency graph for all GitHub repos that use the rworkflows GitHub Action.

Create

Here is the code for creating the plot.

Install required packages

if(!require("echodeps"))remotes::install_github("RajLabMSSM/echodeps",
                                                dependencies = TRUE)

Create graph

res <- echodeps::dep_graph(pkg = "rworkflows",
                           method_seed = "github",
                           exclude = c("neurogenomics_rworkflows",
                                       "neurogenomics_r_workflows"),
                           #node_size = "total_downloads", 
                           reverse = TRUE,
                           save_path = here::here("reports","rworkflows_depgraph.html")) 

Save data

## Save network plot as PNG
echodeps::visnet_save(res$save_path)

## Save all data and plots
saveRDS(res, here::here("reports","dep_graph_res.rds"))

Count stars/clones/views

knitr::kable(res$report)

Show

rworkflow depgraph

Hover over each node to show additional metadata.

Identify highly downloaded packages

Identify the CRAN/Bioc R packages with the most number of downloads. This guides which packages would be the most useful to focus on implementing rworkflows in.

pkgs <- echogithub::r_repos_downloads(which = c("CRAN","Bioc"))

#### Get top 10 per R repository ####
pkgs_top <- pkgs[, tail(.SD, 10), by="r_repo"] 
methods::show(pkgs_top)

Assess R repository usage

This demonstrates the need for using rworkflows, as there are 25,000 R packages that are exclusively distributes via GitHub (which may or may not have code/documentation checks).

r_repos_res <- echogithub::r_repos(save_path = here::here("reports","r_repos_upset.pdf"), width=12)

Session Info

utils::sessionInfo()
## R version 4.5.1 (2025-06-13)
## Platform: aarch64-apple-darwin20
## Running under: macOS Tahoe 26.1
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.1
## 
## locale:
## [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## time zone: America/Mexico_City
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] data.table_1.18.0 rworkflows_1.0.8 
## 
## loaded via a namespace (and not attached):
##  [1] gtable_0.3.6        jsonlite_2.0.0      renv_1.1.5         
##  [4] dplyr_1.1.4         compiler_4.5.1      BiocManager_1.30.27
##  [7] tidyselect_1.2.1    dichromat_2.0-0.1   jquerylib_0.1.4    
## [10] rvcheck_0.2.1       scales_1.4.0        yaml_2.3.12        
## [13] fastmap_1.2.0       here_1.0.2          ggplot2_4.0.1      
## [16] R6_2.6.1            generics_0.1.4      knitr_1.51         
## [19] yulab.utils_0.2.3   tibble_3.3.0        desc_1.4.3         
## [22] dlstats_0.1.7       rprojroot_2.1.1     bslib_0.9.0        
## [25] pillar_1.11.1       RColorBrewer_1.1-3  rlang_1.1.6        
## [28] cachem_1.1.0        badger_0.2.5        xfun_0.55          
## [31] fs_1.6.6            sass_0.4.10         S7_0.2.1           
## [34] otel_0.2.0          cli_3.6.5           magrittr_2.0.4     
## [37] digest_0.6.39       grid_4.5.1          rstudioapi_0.17.1  
## [40] rappdirs_0.3.3      lifecycle_1.0.4     vctrs_0.6.5        
## [43] evaluate_1.0.5      glue_1.8.0          farver_2.1.2       
## [46] rmarkdown_2.30      tools_4.5.1         pkgconfig_2.0.3    
## [49] htmltools_0.5.9

mirror server hosted at Truenetwork, Russian Federation.