• 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 × 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 × 2
#>       x       .rows
#>   <dbl> <list<int>>
#> 1     1         [2]
#> 2     2         [2]
group_indices(gf)
#> [1] 1 1 2 2