group_by()

La función group_by() agrupa un conjunto de filas seleccionado en un conjunto de filas de resumen de acuerdo con los valores de una o más columnas o expresiones.

Echemos un vistazo al data frame pollution:

> pollution
      city  size amount
1 New York large     23
2 New York small     14
3   London large     22
4   London small     16
5  Beijing large    121
6  Beijing small     56

Agrupemos las observaciones por la variable city:

> group_by(pollution, city)
Source: local data frame [6 x 3]
Groups: city [3]

      city  size amount
     (chr) (chr)  (dbl)
1 New York large     23
2 New York small     14
3   London large     22
4   London small     16
5  Beijing large    121
6  Beijing small     56

La función group_by() es extremadamente útil trabajando en conjunción con la función summarise():

> pollution %>%  group_by(city) %>% 
+   summarise(mean = mean(amount), sum = sum(amount), n = n())
Source: local data frame [3 x 4]

      city  mean   sum     n
     (chr) (dbl) (dbl) (int)
1  Beijing  88.5   177     2
2   London  19.0    38     2
3 New York  18.5    37     2