Skip to content

Easily tidy data with spread and gather functions.

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

82ndAirborneDiv/tidyr

This branch is 896 commits behind tidyverse/tidyr:main.

Folders and files

NameName
Last commit message
Last commit date
Nov 17, 2017
Jul 27, 2016
Jul 27, 2016
Jun 10, 2014
May 5, 2017
Nov 16, 2017
Oct 16, 2017
Sep 12, 2017
Nov 17, 2017
Nov 15, 2017
Jun 22, 2017
Oct 16, 2017
Nov 15, 2017
Nov 15, 2017
Jun 17, 2014
Apr 19, 2017
Jun 23, 2017
Nov 17, 2017
Nov 15, 2017
Nov 15, 2017
Apr 13, 2017
Jun 22, 2017
Nov 15, 2017
Oct 16, 2017
Jun 23, 2017

Repository files navigation

tidyr

Build Status codecov.io CRAN_Status_Badge

Overview

The goal of tidyr is to help you create tidy data. Tidy data is data where:

  1. Each variable is in a column.
  2. Each observation is a row.
  3. Each value is a cell.

Tidy data describes a standard way of storing data that is used wherever possible throughout the tidyverse. If you ensure that your data is tidy, you'll spend less timing fighting with the tools and more time working on your analysis.

Installation

# The easiest way to get tidyr is to install the whole tidyverse:
install.packages("tidyverse")

# Alternatively, install just tidyr:
install.packages("tidyr")

# Or the the development version from GitHub:
# install.packages("devtools")
devtools::install_github("tidyverse/tidyr")

Getting started

library(tidyr)

There are two fundamental verbs of data tidying:

  • gather() takes multiple columns, and gathers them into key-value pairs: it makes "wide" data longer.

  • spread(). takes two columns (key & value) and spreads in to multiple columns, it makes "long" data wider.

tidyr also provides separate() and extract() functions which makes it easier to pull apart a column that represents multiple variables. The complement to separate() is unite().

To get started, read the tidy data vignette (vignette("tidy-data")) and check out the demos, demo(package = "tidyr")).

Related work

tidyr replaces reshape2 (2010-2014) and reshape (2005-2010). Somewhat counterintuitively each iteration of the package has done less. tidyr is designed specifically for tidying data, not general reshaping (reshape2), or the general aggregation (reshape).

If you'd like to read more about data reshaping from a CS perspective, I'd recommend the following three papers:

To guide your reading, here's translation between the terminology used in different places:

tidyr gather spread
reshape(2) melt cast
spreadsheets unpivot pivot
databases fold unfold

About

Easily tidy data with spread and gather functions.

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Packages

No packages published

Languages

  • R 86.2%
  • C++ 13.8%