Installation and use
-
Install all the packages in the tidyverse by running
install.packages("tidyverse")
. -
Run
library(tidyverse)
to load the core tidyverse and make it available in your current R session.
Learn more about the tidyverse package at https://tidyverse.tidyverse.org.
Core tidyverse
The core tidyverse includes the packages that you’re likely to use in everyday data analyses. As of tidyverse 1.3.0, the following packages are included in the core tidyverse:
ggplot2
ggplot2 is a system for declaratively creating graphics, based on The Grammar of Graphics. You provide the data, tell ggplot2 how to map variables to aesthetics, what graphical primitives to use, and it takes care of the details.
dplyr
dplyr provides a grammar of data manipulation, providing a consistent set of verbs that solve the most common data manipulation challenges.
tidyr
tidyr provides a set of functions that help you get to tidy data. Tidy data is data with a consistent form: in brief, every variable goes in a column, and every column is a variable.
readr
readr provides a fast and friendly way to read rectangular data (like csv, tsv, and fwf). It is designed to flexibly parse many types of data found in the wild, while still cleanly failing when data unexpectedly changes.
purrr
purrr enhances R’s functional programming (FP) toolkit by providing a complete and consistent set of tools for working with functions and vectors. Once you master the basic concepts, purrr allows you to replace many for loops with code that is easier to write and more expressive.
tibble
tibble is a modern re-imagining of the data frame, keeping what time has proven to be effective, and throwing out what it has not. Tibbles are data.frames that are lazy and surly: they do less and complain more forcing you to confront problems earlier, typically leading to cleaner, more expressive code.
stringr
stringr provides a cohesive set of functions designed to make working with strings as easy as possible. It is built on top of stringi, which uses the ICU C library to provide fast, correct implementations of common string manipulations.
forcats
forcats provides a suite of useful tools that solve common problems with factors. R uses factors to handle categorical variables, variables that have a fixed and known set of possible values.
The tidyverse also includes many other packages with more specialised usage. They are not loaded automatically with library(tidyverse)
, so you’ll need to load each one with its own call to library()
.
Import
As well as readr, for reading flat files, the tidyverse package installs a number of other packages for reading data:
-
DBI for relational databases. (Maintained by Kirill Müller.) You’ll need to pair DBI with a database specific backends like RSQLite, RMariaDB, RPostgres, or odbc. Learn more at https://db.rstudio.com.
-
haven for SPSS, Stata, and SAS data.
-
httr for web APIs.
-
readxl for
.xls
and.xlsx
sheets. -
googlesheets4 for Google Sheets via the Sheets API v4.
-
googledrive for Google Drive files.
-
rvest for web scraping.
-
jsonlite for JSON. (Maintained by Jeroen Ooms.)
-
xml2 for XML.
Wrangle
In addition to tidyr, and dplyr, there are five packages (including stringr and forcats) which are designed to work with specific types of data:
- lubridate for dates and date-times.
- hms for time-of-day values.
- blob for storing blob (binary) data.
dplyr backends
There are also two packages that allow you to interface with different backends using the same dplyr syntax:
- dbplyr allows you to use remote database tables by converting dplyr code into SQL.
- dtplyr provides a data.table backend by automatically translating to the equivalent, but usually much faster, data.table code.
Program
In addition to purrr, which provides very consistent and natural methods for iterating on R objects, there are two additional tidyverse packages that help with general programming challenges:
-
magrittr provides the pipe,
%>%
used throughout the tidyverse. It also provide a number of more specialised piping operators (like%$%
and%<>%
) that can be useful in other places. -
glue provides an alternative to
paste()
that makes it easier to combine data and strings.
Model
Modeling with the tidyverse uses the collection of tidymodels packages, which largely replace the modelr package used in R4DS. These packages provide a comprehensive foundation for creating and using models of all types. Visit the Getting Started guide or, for more detailed examples, go straight to the Learn page.
Get help
If you’re asking for R help, reporting a bug, or requesting a new feature, you’re more likely to succeed if you include a good reproducible example, which is precisely what the reprex package is meant for. You can learn more about reprex, along with other tips on how to help others help you in the help section.