dplyr

dplyr: A grammar of data manipulation

https://github.com/tidyverse/dplyr

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    15 of 287 committers (5.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.6%) to scientific vocabulary

Keywords

data-manipulation grammar r

Keywords from Contributors

rmarkdown package-creation book latex tidy-data pandoc bookdown literate-programming gitbook epub
Last synced: 6 months ago · JSON representation

Repository

dplyr: A grammar of data manipulation

Basic Info
Statistics
  • Stars: 4,925
  • Watchers: 245
  • Forks: 2,128
  • Open Issues: 128
  • Releases: 43
Topics
data-manipulation grammar r
Created over 13 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codeowners Support

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
options(tibble.print_min = 5, tibble.print_max = 5)
```

# dplyr 


[![CRAN status](https://www.r-pkg.org/badges/version/dplyr)](https://cran.r-project.org/package=dplyr)
[![R-CMD-check](https://github.com/tidyverse/dplyr/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/tidyverse/dplyr/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/tidyverse/dplyr/branch/main/graph/badge.svg)](https://app.codecov.io/gh/tidyverse/dplyr?branch=main)


## Overview

dplyr is a grammar of data manipulation, providing a consistent set of verbs that help you solve the most common data manipulation challenges:

* `mutate()` adds new variables that are functions of existing variables
* `select()` picks variables based on their names.
* `filter()` picks cases based on their values.
* `summarise()` reduces multiple values down to a single summary.
* `arrange()` changes the ordering of the rows.

These all combine naturally with `group_by()` which allows you to perform any operation "by group". You can learn more about them in `vignette("dplyr")`. As well as these single-table verbs, dplyr also provides a variety of two-table verbs, which you can learn about in `vignette("two-table")`.

If you are new to dplyr, the best place to start is the [data transformation chapter](https://r4ds.hadley.nz/data-transform) in R for Data Science.

## Backends

In addition to data frames/tibbles, dplyr makes working with other computational backends accessible and efficient. Below is a list of alternative backends:

- [arrow](https://arrow.apache.org/docs/r/) for larger-than-memory datasets, including on remote cloud storage like AWS S3, using the Apache Arrow C++ engine, [Acero](https://arrow.apache.org/docs/cpp/streaming_execution.html).

- [dtplyr](https://dtplyr.tidyverse.org/) for large, in-memory datasets. 
  Translates your dplyr code to high performance 
  [data.table](https://rdatatable.gitlab.io/data.table/) code.

- [dbplyr](https://dbplyr.tidyverse.org/) for data stored in a relational 
  database. Translates your dplyr code to SQL.

- [duckplyr](https://tidyverse.github.io/duckplyr/) for using [duckdb](https://duckdb.org) on large, in-memory datasets with zero extra copies. Translates your dplyr code to high performance duckdb queries with an automatic R fallback when translation isn't possible.

- [duckdb](https://duckdb.org/docs/api/r) for large datasets that are 
  still small enough to fit on your computer.

- [sparklyr](https://spark.rstudio.com) for very large datasets stored in 
  [Apache Spark](https://spark.apache.org).

## Installation

```{r, eval = FALSE}
# The easiest way to get dplyr is to install the whole tidyverse:
install.packages("tidyverse")

# Alternatively, install just dplyr:
install.packages("dplyr")
```

### Development version

To get a bug fix or to use a feature from the development version, you can install 
the development version of dplyr from GitHub.

```{r, eval = FALSE}
# install.packages("pak")
pak::pak("tidyverse/dplyr")
```

## Cheat Sheet

  

## Usage

```{r, message = FALSE}
library(dplyr)

starwars %>% 
  filter(species == "Droid")

starwars %>% 
  select(name, ends_with("color"))

starwars %>% 
  mutate(name, bmi = mass / ((height / 100)  ^ 2)) %>%
  select(name:mass, bmi)

starwars %>% 
  arrange(desc(mass))

starwars %>%
  group_by(species) %>%
  summarise(
    n = n(),
    mass = mean(mass, na.rm = TRUE)
  ) %>%
  filter(
    n > 1,
    mass > 50
  )
```

## Getting help

If you encounter a clear bug, please file an issue with a minimal reproducible example on [GitHub](https://github.com/tidyverse/dplyr/issues). For questions and other discussion, please use [forum.posit.co](https://forum.posit.co/).

## Code of conduct

Please note that this project is released with a [Contributor Code of Conduct](https://dplyr.tidyverse.org/CODE_OF_CONDUCT).
By participating in this project you agree to abide by its terms.

Owner

  • Name: tidyverse
  • Login: tidyverse
  • Kind: organization

The tidyverse is a collection of R packages that share common principles and are designed to work together seamlessly

GitHub Events

Total
  • Issues event: 729
  • Watch event: 191
  • Delete event: 1
  • Issue comment event: 570
  • Push event: 20
  • Pull request review event: 4
  • Pull request review comment event: 8
  • Pull request event: 16
  • Fork event: 44
  • Create event: 2
Last Year
  • Issues event: 729
  • Watch event: 191
  • Delete event: 1
  • Issue comment event: 570
  • Push event: 20
  • Pull request review event: 4
  • Pull request review comment event: 8
  • Pull request event: 16
  • Fork event: 44
  • Create event: 2

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 7,023
  • Total Committers: 287
  • Avg Commits per committer: 24.47
  • Development Distribution Score (DDS): 0.616
Past Year
  • Commits: 19
  • Committers: 10
  • Avg Commits per committer: 1.9
  • Development Distribution Score (DDS): 0.579
Top Committers
Name Email Commits
Romain François r****n@r****m 2,700
hadley h****m@g****m 1,972
Kirill Müller k****r@m****g 754
Lionel Henry l****y@g****m 611
Davis Vaughan d****s@r****m 295
Kirill Müller k****r@i****h 78
Mara Averick m****k@g****m 37
Hiroaki Yutani y****i@g****m 27
lindbrook l****k@g****m 27
Jim Hester j****r@g****m 26
Hannes Mühleisen h****s@m****g 16
Kevin Ushey k****y@g****m 15
Mine Çetinkaya-Rundel c****e@g****m 13
Jennifer (Jenny) Bryan j****n@g****m 10
Sam s****e 8
Sergio Oller s****r@g****m 8
jennybc j****y@s****a 8
Ilari Scheinin i****n@g****m 7
Stefan Fleck s****k@g****m 7
ijlyttle i****e@s****m 7
Javier Luraschi j****i@h****m 6
Bill Denney w****y@h****m 6
leondutoit l****n@c****m 6
Sergey Goder s****r@f****m 6
Salim B s****m@p****e 5
earowang e****g@g****m 5
Christophe Dervieux c****x@g****m 5
Mauro Lepore m****e 5
Romain François r****n@t****r 5
Michael Chirico m****4@g****m 4
and 257 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 370
  • Total pull requests: 106
  • Average time to close issues: 22 days
  • Average time to close pull requests: 17 days
  • Total issue authors: 250
  • Total pull request authors: 39
  • Average comments per issue: 2.01
  • Average comments per pull request: 0.8
  • Merged pull requests: 71
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 103
  • Pull requests: 26
  • Average time to close issues: 2 days
  • Average time to close pull requests: about 24 hours
  • Issue authors: 65
  • Pull request authors: 12
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.23
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • waskijoy (60)
  • jenuferLopez (37)
  • jgonza-2002 (33)
  • per789 (26)
  • DavisVaughan (26)
  • munar (25)
  • murat93eses (24)
  • JamesMcClurer (24)
  • braybnix (24)
  • ITechCarlo (21)
  • BrandishaReynolds57 (18)
  • yohalvisch33 (14)
  • nightareyou (12)
  • krlmlr (11)
  • majid0177 (11)
Pull Request Authors
  • DavisVaughan (37)
  • krlmlr (26)
  • ITechCarlo (8)
  • munar (5)
  • jenuferLopez (4)
  • jgonza-2002 (4)
  • KittJonathan (4)
  • billdenney (3)
  • hadley (3)
  • per789 (3)
  • JamesMcClurer (3)
  • matthewjnield (3)
  • gaborcsardi (2)
  • steveharoz (2)
  • musvaage (2)
Top Labels
Issue Labels
feature (19) bug (11) rows ↕️ (8) tidy-dev-day :nerd_face: (5) documentation (5) columns ↔️ (4) tables 🧮 (4) grouping :family_man_woman_girl_boy: (3) performance :rocket: (3) breaking change :skull_and_crossbones: (2) rlang :microscope: (2) verbs :running_woman: (2) lifecycle :butterfly: (1) each-col ↔️ (1) reprex (1) vctrs ↗️ (1) upkeep (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • cran 1,554,374 last-month
  • Total docker downloads: 154,115,341
  • Total dependent packages: 4,675
    (may contain duplicates)
  • Total dependent repositories: 20,401
    (may contain duplicates)
  • Total versions: 87
  • Total maintainers: 1
cran.r-project.org: dplyr

A Grammar of Data Manipulation

  • Versions: 45
  • Dependent Packages: 4,675
  • Dependent Repositories: 20,401
  • Downloads: 1,554,374 Last month
  • Docker Downloads: 154,115,341
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Forks count: 0.0%
Downloads: 0.0%
Stargazers count: 0.0%
Average: 2.9%
Docker downloads count: 17.3%
Maintainers (1)
Last synced: 6 months ago
proxy.golang.org: github.com/tidyverse/dplyr
  • Versions: 42
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.7%
Dependent repos count: 5.9%
Last synced: 6 months ago

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action 4.1.4 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pr-commands.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/pr-fetch v2 composite
  • r-lib/actions/pr-push v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 3.4.0 depends
  • R6 * imports
  • cli >= 3.4.0 imports
  • generics * imports
  • glue >= 1.3.2 imports
  • lifecycle >= 1.0.3 imports
  • magrittr >= 1.5 imports
  • methods * imports
  • pillar >= 1.5.1 imports
  • rlang >= 1.0.6 imports
  • tibble >= 2.1.3 imports
  • tidyselect >= 1.2.0 imports
  • utils * imports
  • vctrs >= 0.5.0 imports
  • DBI * suggests
  • Lahman * suggests
  • RMySQL * suggests
  • RPostgreSQL * suggests
  • RSQLite * suggests
  • bench * suggests
  • broom * suggests
  • callr * suggests
  • covr * suggests
  • dbplyr >= 2.2.1 suggests
  • ggplot2 * suggests
  • knitr * suggests
  • lobstr * suggests
  • microbenchmark * suggests
  • nycflights13 * suggests
  • purrr * suggests
  • rmarkdown * suggests
  • stringi >= 1.7.6 suggests
  • testthat >= 3.1.5 suggests
  • tidyr * suggests
  • withr * suggests