Contents

library(data.table)

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

1 Create

Here is the code for creating the plot.

1.1 Install required packages

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

1.2 Create graph

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

1.3 Save data

saveRDS(res, here::here("reports","dep_graph_res.rds"))

1.4 Count stars/clones/views

knitr::kable(res$report)

2 Show

rworkflow depgraph
rworkflow depgraph

Hover over each node to show additional metadata.

3 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)

4 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)

5 Session Info

utils::sessionInfo()
## R version 4.2.1 (2022-06-23)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Big Sur ... 10.16
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] C/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] data.table_1.14.8  rworkflows_0.99.13 BiocStyle_2.26.0  
## 
## loaded via a namespace (and not attached):
##  [1] bslib_0.4.2         compiler_4.2.1      pillar_1.9.0       
##  [4] RColorBrewer_1.1-3  BiocManager_1.30.20 jquerylib_0.1.4    
##  [7] yulab.utils_0.0.6   tools_4.2.1         digest_0.6.31      
## [10] jsonlite_1.8.4      evaluate_0.21       lifecycle_1.0.3    
## [13] tibble_3.2.1        gtable_0.3.3        pkgconfig_2.0.3    
## [16] rlang_1.1.1         cli_3.6.1           rvcheck_0.2.1      
## [19] yaml_2.3.7          xfun_0.40           fastmap_1.1.1      
## [22] dplyr_1.1.2         knitr_1.44          desc_1.4.2         
## [25] generics_0.1.3      sass_0.4.6          vctrs_0.6.3        
## [28] dlstats_0.1.7       rprojroot_2.0.3     grid_4.2.1         
## [31] tidyselect_1.2.0    here_1.0.1          glue_1.6.2         
## [34] R6_2.5.1            fansi_1.0.4         rmarkdown_2.22     
## [37] bookdown_0.34       ggplot2_3.4.2       badger_0.2.3       
## [40] magrittr_2.0.3      scales_1.2.1        htmltools_0.5.5    
## [43] colorspace_2.1-0    renv_0.17.3         utf8_1.2.3         
## [46] munsell_0.5.0       cachem_1.0.8