Add a count column to the data frame.

df %>% add_count(a, b) is equivalent to using df %>% mutate(n = n(), .by = c(a, b))

add_count(.df, ..., wt = NULL, sort = FALSE, name = NULL)

add_tally(.df, wt = NULL, sort = FALSE, name = NULL)

Arguments

.df

A data.frame or data.table

...

Columns to group by. tidyselect compatible.

wt

Frequency weights. Can be NULL or a variable:

  • If NULL (the default), counts the number of rows in each group.

  • If a variable, computes sum(wt) for each group.

sort

If TRUE, will show the largest groups at the top.

name

The name of the new column in the output.

If omitted, it will default to n.

Examples

df <- data.table(
  a = c("a", "a", "b"),
  b = 1:3
)

df %>%
  add_count(a)
#> # A tidytable: 3 × 3
#>   a         b     n
#>   <chr> <int> <int>
#> 1 a         1     2
#> 2 a         2     2
#> 3 b         3     1