Returns grouped_df·Updated March 13, 2026·Tidyverse
dplyrgroup-bysummarisetidyversedata-wrangling
group_by() and summarise() are dplyr verbs that work together to split data into groups and compute summary statistics. group_by() takes a data frame and creates a grouped tibble where subsequent operations are performed on each group separately. summarise() (or summarize()) then collapses each group into a single row, computing the requested statistics.
# Group by multiple columnsdf %>% group_by(category, product) %>% summarise(avg_sales = mean(sales), .groups = "drop")
Multiple summary functions
df %>% group_by(category) %>% summarise( total = sum(sales), mean = mean(sales), median = median(sales), min = min(sales), max = max(sales), sd = sd(sales) )
Common Patterns
Counting and proportions
df %>% group_by(category) %>% summarise( n = n(), prop = n / nrow(df) * 100 )