I was wondering what could be the impact on a large R
(shiny
) application if we call the tidyverse
package. We usually call dplyr
, tidyr
, and so on separately. Any hints are welcome!
Thanks in advance!
Tidyverse. The tidyverse is an opinionated collection of R packages designed for data science. All packages share an underlying design philosophy, grammar, and data structures. See how the tidyverse makes data science faster, easier and more fun with “R for Data Science”.
library(tidyverse) will load the core tidyverse packages: ggplot2, for data visualisation. dplyr, for data manipulation. tidyr, for data tidying.
There are eight core Tidyverse packages namely ggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, and forcats that are mentioned in this article. All of these packages are loaded automatically at once with the install.
You only need to do this once per machine. Load the package into your R session with library() . You need to do this each time you start a new R session (if you wish to use the package in that session).
Update: As of May 14th, 2020, recursive dependency count is now up to 101.
The tidyverse
package currently has 87 dependencies.
packrat
, you now have to save copies of 87 packages in your local library. If you're not using packrat
, something will probably get updated and break your shiny app within 6 months.If you're at all concerned about performance and maintaining this application long term I'd recommend minimizing dependencies and only loading the packages you actually use.
sort(tools::package_dependencies(package="tidyverse", recursive=TRUE)$tidyverse)
# [1] "askpass" "assertthat" "backports"
# [4] "base64enc" "BH" "broom"
# [7] "callr" "cellranger" "cli"
# [10] "clipr" "colorspace" "crayon"
# [13] "curl" "DBI" "dbplyr"
# [16] "desc" "digest" "dplyr"
# [19] "ellipsis" "evaluate" "fansi"
# [22] "farver" "forcats" "fs"
# [25] "generics" "ggplot2" "glue"
# [28] "graphics" "grDevices" "grid"
# [31] "gtable" "haven" "highr"
# [34] "hms" "htmltools" "httr"
# [37] "isoband" "jsonlite" "knitr"
# [40] "labeling" "lattice" "lifecycle"
# [43] "lubridate" "magrittr" "markdown"
# [46] "MASS" "Matrix" "methods"
# [49] "mgcv" "mime" "modelr"
# [52] "munsell" "nlme" "openssl"
# [55] "pillar" "pkgbuild" "pkgconfig"
# [58] "pkgload" "plogr" "plyr"
# [61] "praise" "prettyunits" "processx"
# [64] "progress" "ps" "purrr"
# [67] "R6" "RColorBrewer" "Rcpp"
# [70] "readr" "readxl" "rematch"
# [73] "reprex" "reshape2" "rlang"
# [76] "rmarkdown" "rprojroot" "rstudioapi"
# [79] "rvest" "scales" "selectr"
# [82] "splines" "stats" "stringi"
# [85] "stringr" "sys" "testthat"
# [88] "tibble" "tidyr" "tidyselect"
# [91] "tinytex" "tools" "utf8"
# [94] "utils" "vctrs" "viridisLite"
# [97] "whisker" "withr" "xfun"
# [100] "xml2" "yaml"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With