https://github.com/hadley/reshape
An R package to flexible rearrange, reshape and aggregate data
https://github.com/hadley/reshape
Last synced: 6 days ago
JSON representation
An R package to flexible rearrange, reshape and aggregate data
- Host: GitHub
- URL: https://github.com/hadley/reshape
- Owner: hadley
- License: other
- Created: 2008-08-20T13:51:23.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2022-12-17T02:04:34.000Z (about 2 years ago)
- Last Synced: 2025-02-09T00:06:19.338Z (13 days ago)
- Language: R
- Homepage: http://had.co.nz/reshape
- Size: 2.71 MB
- Stars: 210
- Watchers: 21
- Forks: 56
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - hadley/reshape - An R package to flexible rearrange, reshape and aggregate data (R)
README
# reshape2
[](https://github.com/hadley/reshape/actions)
[](https://codecov.io/gh/hadley/reshape?branch=master)## Status
[](https://lifecycle.r-lib.org/articles/stages.html#superseded)
reshape2 is superseded: only changes necessary to keep it on CRAN will be made. We recommend using [tidyr](http://tidyr.tidyverse.org/) instead.
## Introduction
Reshape2 is a reboot of the reshape package. It's been over five years since the first release of reshape, and in that time I've learned a tremendous amount about R programming, and how to work with data in R. Reshape2 uses that knowledge to make a new package for reshaping data that is much more focused and much much faster.
This version improves speed at the cost of functionality, so I have renamed it to `reshape2` to avoid causing problems for existing users. Based on user feedback I may reintroduce some of these features.
What's new in `reshape2`:
* considerably faster and more memory efficient thanks to a much better
underlying algorithm that uses the power and speed of subsetting to the
fullest extent, in most cases only making a single copy of the data.* cast is replaced by two functions depending on the output type: `dcast`
produces data frames, and `acast` produces matrices/arrays.* multidimensional margins are now possible: `grand_row` and `grand_col` have
been dropped: now the name of the margin refers to the variable that has
its value set to (all).* some features have been removed such as the `|` cast operator, and the
ability to return multiple values from an aggregation function. I'm
reasonably sure both these operations are better performed by plyr.* a new cast syntax which allows you to reshape based on functions
of variables (based on the same underlying syntax as plyr):* better development practices like namespaces and tests.
* the function `melt` now names the columns of its returned data frame `Var1`, `Var2`, ..., `VarN` instead of `X1`, `X2`, ..., `XN`.
* the argument `variable.name` of `melt` replaces the old argument `variable_name`.
Initial benchmarking has shown `melt` to be up to 10x faster, pure reshaping `cast` up to 100x faster, and aggregating `cast()` up to 10x faster.
This work has been generously supported by BD (Becton Dickinson).