logo

Agrupar por función en R usando Dplyr

La función Group_by() pertenece al paquete dplyr en el lenguaje de programación R, que agrupa los marcos de datos. La función Group_by() por sí sola no dará ningún resultado. Debe ir seguida de la función resumen() con una acción adecuada a realizar. Funciona de manera similar a GROUP BY en SQL y tabla dinámica en Excel.

Sintaxis:



grupo_por(col,…)

Sintaxis:

group_by(col,..) %>% resumir(acción)



El conjunto de datos en uso:

Muestra_supertienda

Group_by() en a una sola columna

Esta es la forma más sencilla de agrupar una columna, simplemente pase el nombre de la columna que se agrupará en la función group_by() y la acción que se realizará en esta columna agrupada en la función resumen().



Ejemplo: Agrupar una sola columna por group_by()

ajuste de cadena java

R




library>(dplyr)> df =>read.csv>(>'Sample_Superstore.csv'>)> df_grp_region = df %>%>group_by>(Region) %>%> >summarise>(total_sales =>sum>(Sales),> >total_profits =>sum>(Profit),> >.groups =>'drop'>)> View>(df_grp_region)>

>

>

Producción:

Group_by() en varias columnas

La función Group_by() también se puede realizar en dos o más columnas, los nombres de las columnas deben estar en el orden correcto. La agrupación se producirá según el nombre de la primera columna en la función group_by y luego la agrupación se realizará según la segunda columna.

Ejemplo: Agrupar varias columnas

R


diferencia simétrica



library>(dplyr)> df =>read.csv>(>'Sample_Superstore.csv'>)> df_grp_reg_cat = df %>%>group_by>(Region, Category) %>%> >summarise>(total_Sales =>sum>(Sales),> >total_Profit =>sum>(Profit),> >.groups =>'drop'>)> View>(df_grp_reg_cat)>

>

>

Producción:

También podemos calcular la media, el recuento, el mínimo o el máximo reemplazando la suma en la función resumida o agregada. Por ejemplo, encontraremos las ventas y ganancias medias para el mismo grupo en el ejemplo anterior.

Ejemplo:

R




library>(dplyr)> df =>read.csv>(>'Sample_Superstore.csv'>)> df_grp_reg_cat = df %>%>group_by>(Region, Category) %>%> >summarise>(mean_Sales =>mean>(Sales),> >mean_Profit =>mean>(Profit),> >.groups =>'drop'>)> View>(df_grp_reg_cat)>

>

>

Producción: