• group_data() returns a data frame that defines the grouping structure. The columns give the values of the grouping variables. The last column, always called .rows, is a list of integer vectors that gives the location of the rows in each group. You can retrieve just the grouping data with group_keys(), and just the locations with group_rows().

  • group_indices() returns an integer vector the same length as .data that gives the group that each row belongs to (cf. group_rows() which returns the rows which each group contains). group_indices() with no argument is deprecated, superseded by cur_group_id().

  • group_vars() gives names of grouping variables as character vector; groups() gives the names as a list of symbols.

  • group_size() gives the size of each group, and n_groups() gives the total number of groups.

See context for equivalent functions that return values for the current group.

group_data(.data)

group_keys(.tbl, ...)

group_rows(.data)

group_indices(.data, ...)

group_vars(x)

groups(x)

group_size(x)

n_groups(x)

Arguments

.data, .tbl, x

A data frame or extension (like a tibble or grouped tibble).

...

Use of ... is now deprecated; please use group_by() first instead.

Examples

df <- tibble(x = c(1,1,2,2)) group_vars(df)
#> character(0)
group_rows(df)
#> <list_of<integer>[1]> #> [[1]] #> [1] 1 2 3 4 #>
group_data(df)
#> # A tibble: 1 x 1 #> .rows #> <list<int>> #> 1 [4]
group_indices(df)
#> [1] 1 1 1 1
gf <- group_by(df, x) group_vars(gf)
#> [1] "x"
group_rows(gf)
#> <list_of<integer>[2]> #> [[1]] #> [1] 1 2 #> #> [[2]] #> [1] 3 4 #>
group_data(gf)
#> # A tibble: 2 x 2 #> x .rows #> <dbl> <list<int>> #> 1 1 [2] #> 2 2 [2]
group_indices(gf)
#> [1] 1 1 2 2