group_by_all {dplyr} | R Documentation

## Group by a selection of variables

### Description

These scoped variants of `group_by()` group a data frame by a selection of variables. Like `group_by()`, they have optional mutate semantics.

### Usage

    group_by_all(.tbl, .funs = list(), ..., .add = FALSE,
      .drop = group_drops(.tbl))

    group_by_at(.tbl, .vars, .funs = list(), ..., .add = FALSE,
      .drop = group_drops(.tbl))

    group_by_if(.tbl, .predicate, .funs = list(), ..., .add = FALSE,
      .drop = group_drops(.tbl))

### Arguments

`.tbl` | A `tbl` object.
`.funs` | A function `fun`, a quosure style lambda `~ fun(.)` or a list of either form.
`...` | Additional arguments for the function calls in `.funs`. These are evaluated only once, with tidy dots support.
`.add` | See `group_by()`
`.drop` | When `.drop = TRUE`, empty groups are dropped.
`.vars` | A list of columns generated by `vars()`, a character vector of column names, a numeric vector of column positions, or `NULL`.
`.predicate` | A predicate function to be applied to the columns or a logical vector. The variables for which `.predicate` is or returns `TRUE` are selected. This argument is passed to `rlang::as_function()` and thus supports quosure-style lambda functions and strings representing function names.

### Grouping variables

Existing grouping variables are maintained, even if not included in the selection.

### See Also

Other grouping functions: `group_by`, `group_indices`, `group_keys`, `group_map`, `group_nest`, `group_rows`, `group_size`, `group_trim`, `groups`

### Examples

    # Group a data frame by all variables:
    group_by_all(mtcars)

    # Group by variables selected with a predicate:
    group_by_if(iris, is.factor)

    # Group by variables selected by name:
    group_by_at(mtcars, vars(vs, am))

    # Like group_by(), the scoped variants have optional mutate
    # semantics. This provide a shortcut for group_by() + mutate():
    d <- tibble(x=c(1,1,2,2), y=c(1,2,1,2))
    group_by_all(d, as.factor)
    group_by_if(iris, is.factor, as.character)

[Package dplyr version 0.8.0.1 Index]