```r d <- data.frame( g1 = sample(LETTERS), 40000, TRUE), g2 = sample(LETTERS), 40000, TRUE), g3 = sample(LETTERS), 40000, TRUE), x1 = runif(40000), x2 = runif(40000), x3 = runif(40000) ) d %>% group_by(g1, g2, g3) %>% summarise(x1 = mean(x1), x2 = max(x2), x3 = min(x3)) ```