R Language tidyverse: an overview


What is tidyverse?

tidyverse is the fast and elegant way to turn basic R into an enhanced tool, redesigned by Hadley/Rstudio. The development of all packages included in tidyverse follow the principle rules of The tidy tools manifesto. But first, let the authors describe their masterpiece:

The tidyverse is a set of packages that work in harmony because they share common data representations and API design. The tidyverse package is designed to make it easy to install and load core packages from the tidyverse in a single command.

The best place to learn about all the packages in the tidyverse and how they fit together is R for Data Science. Expect to hear more about the tidyverse in the coming months as I work on improved package websites, making citation easier, and providing a common home for discussions about data analysis with the tidyverse.


How to use it?

Just with the ordinary R packages, you need to install and load the package.


The difference is, on a single command a couple of dozens of packages are installed/loaded. As a bonus, one may rest assured that all the installed/loaded packages are of compatible versions.

What are those packages?

The commonly known and widely used packages:

  • ggplot2: advanced data visualisation SO_doc
  • dplyr: fast (Rcpp) and coherent approach to data manipulation SO_doc
  • tidyr: tools for data tidying SO_doc
  • readr: for data import.
  • purrr: makes your pure functions purr by completing R's functional programming tools with important features from other languages, in the style of the JS packages underscore.js, lodash and lazy.js.
  • tibble: a modern re-imagining of data frames.
  • magrittr: piping to make code more readable SO_doc

Packages for manipulating specific data formats:

  • hms: easily read times
  • stringr: provide a cohesive set of functions designed to make working with strings as easy as posssible
  • lubridate: advanced date/times manipulations SO_doc
  • forcats: advanced work with factors.

Data import:

  • DBI: defines a common interface between the R and database management systems (DBMS)
  • haven: easily import SPSS, SAS and Stata files SO_doc
  • httr: the aim of httr is to provide a wrapper for the curl package, customised to the demands of modern web APIs
  • jsonlite: a fast JSON parser and generator optimized for statistical data and the web
  • readxl: read.xls and .xlsx files without need for dependency packages SO_doc
  • rvest: rvest helps you scrape information from web pages SO_doc
  • xml2: for XML

And modelling:

  • modelr: provides functions that help you create elegant pipelines when modelling
  • broom: easily extract the models into tidy data

Finally, tidyverse suggest the use of:

  • knitr: the amazing general-purpose literate programming engine, with lightweight API's designed to give users full control of the output without heavy coding work. SO_docs: one, two
  • rmarkdown: Rstudio's package for reproducible programming. SO_docs: one, two, three, four