context: Context dependent expressions

contextR Documentation

Context dependent expressions

Description

These functions return information about the "current" group or "current" variable, so only work inside specific contexts like summarise() and mutate().

  • n() gives the number of observations in the current group.

  • cur_data() gives the current data for the current group (excluding grouping variables).

  • cur_data_all() gives the current data for the current group (including grouping variables).

  • cur_group() gives the group keys, a single row data.frame containing a column for each grouping variable and its value.

  • cur_group_id() gives a unique numeric identifier for the current group.

  • cur_group_rows() gives the rows the groups appear in the data.

  • cur_column() gives the name of the current column (in across() only).

Usage

n()

cur_data()

cur_data_all()

cur_group()

cur_group_id()

cur_group_rows()

cur_column()

data.table

If you're familiar with data.table:

  • cur_data() <-> .SD

  • cur_group_id() <-> .GRP

  • cur_group() <-> .BY

  • cur_group_rows() <-> .I

See Also

See group_data() for equivalent functions that return values for all groups.

Examples

df <- data.frame(
  g = sample(rep(letters[1:3], 1:3)),
  x = runif(6),
  y = runif(6),
  stringsAsFactors = FALSE
)
gf <- df %>% group_by(g)

gf %>% summarise(n = n())

gf %>% mutate(id = cur_group_id())
gf %>% summarise(row = cur_group_rows())
gf %>% summarise(data = list(cur_group()))
gf %>% summarise(data = list(cur_data()))
gf %>% summarise(data = list(cur_data_all()))

gf %>% mutate(across(everything(), ~ paste(cur_column(), round(.x, 2))))


poorman documentation built on Nov. 2, 2023, 5:27 p.m.