Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hadley/plyr
A R package for splitting, applying and combining large problems into simpler problems
https://github.com/hadley/plyr
Last synced: about 15 hours ago
JSON representation
A R package for splitting, applying and combining large problems into simpler problems
- Host: GitHub
- URL: https://github.com/hadley/plyr
- Owner: hadley
- License: other
- Created: 2008-11-19T15:08:14.000Z (about 16 years ago)
- Default Branch: main
- Last Pushed: 2024-11-06T16:18:00.000Z (2 months ago)
- Last Synced: 2025-01-07T17:09:46.627Z (8 days ago)
- Language: R
- Homepage: plyr.had.co.nz
- Size: 14.2 MB
- Stars: 496
- Watchers: 47
- Forks: 116
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
- Road2R - plyr - the split-apply-combine paradigm for R. (Table of Contents / Data manipulation)
- jimsghstars - hadley/plyr - A R package for splitting, applying and combining large problems into simpler problems (R)
README
# plyr
[![Lifecycle: retired](https://img.shields.io/badge/lifecycle-retired-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#retired)
[![CRAN status](https://www.r-pkg.org/badges/version/plyr)](https://cran.r-project.org/package=plyr)
[![R-CMD-check](https://github.com/hadley/plyr/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/hadley/plyr/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/hadley/plyr/graph/badge.svg)](https://app.codecov.io/gh/hadley/plyr)plyr is a set of tools for a common set of problems: you need to __split__ up a big data structure into homogeneous pieces, __apply__ a function to each piece and then __combine__ all the results back together. For example, you might want to:
* fit the same model each patient subsets of a data frame
* quickly calculate summary statistics for each group
* perform group-wise transformations like scaling or standardisingIt's already possible to do this with base R functions (like split and the apply family of functions), but plyr makes it all a bit easier with:
* totally consistent names, arguments and outputs
* convenient parallelisation through the foreach package
* input from and output to data.frames, matrices and lists
* progress bars to keep track of long running operations
* built-in error recovery, and informative error messages
* labels that are maintained across all transformationsConsiderable effort has been put into making plyr fast and memory efficient, and in many cases plyr is as fast as, or faster than, the built-in equivalents.
A detailed introduction to plyr has been published in JSS: "The Split-Apply-Combine Strategy for Data Analysis", http://www.jstatsoft.org/v40/i01/. You can find out more at https://had.co.nz/plyr/, or track development at https://github.com/hadley/plyr. You can ask questions about plyr (and data manipulation in general) on the plyr mailing list. Sign up at https://groups.google.com/group/manipulatr.
## Status [![Lifecycle: retired](https://img.shields.io/badge/lifecycle-retired-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#retired)
plyr is retired: this means only changes necessary to keep it on CRAN will be made. We recommend using [dplyr](https://dplyr.tidyverse.org/) (for data frames) or [purrr](https://purrr.tidyverse.org/) (for lists) instead.