count() lets you quickly count the unique values of one or more variables: df %>% count(a, b) is roughly equivalent to df %>% group_by(a, b) %>% summarise(n=n()). count() is paired with tally(), a lower-level helper that is equivalent to df %>% summarise(n=n()). Supply wt to perform weighted counts, switching the summary from n=n() to n=sum(wt).

add_count() are add_tally() are equivalents to count() and tally() but use mutate() instead of summarise() so that they add a new column with group-wise counts.

  wt = NULL,
  sort = FALSE,
  name = NULL,
  .drop = group_by_drop_default(x)



A data frame, data frame extension (e.g. a tibble), or a lazy data frame (e.g. from dbplyr or dtplyr).


<data-masking> Variables to group by.


<data-masking> 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.


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


The name of the new column in the output.

If omitted, it will default to n. If there's already a column called n, it will error, and require you to specify the name.


For count(): if FALSE will include counts for empty groups (i.e. for levels of factors that don't exist in the data). Deprecated in add_count() since it didn't actually affect the output.


An object of the same type as .data. count() and add_count()

group transiently, so the output has the same groups as the input.


`%>%` <- magrittr::`%>%`
tidySummarizedExperiment::pasilla %>%
#> tidySummarizedExperiment says: A data frame is returned for independent data analysis.
#> # A tibble: 7 × 2
#>   .sample     n
#>   <chr>   <int>
#> 1 trt1    14599
#> 2 trt2    14599
#> 3 trt3    14599
#> 4 untrt1  14599
#> 5 untrt2  14599
#> 6 untrt3  14599
#> 7 untrt4  14599