logo

Agrupa per funció en R mitjançant Dplyr

La funció Group_by() pertany al paquet dplyr en el llenguatge de programació R, que agrupa els marcs de dades. La funció Group_by() sola no donarà cap sortida. Hauria d'anar seguit de la funció summarise() amb una acció adequada a realitzar. Funciona de manera similar a GROUP BY a SQL i a la taula dinàmica a Excel.

Sintaxi:



grup_per (col,...)

Sintaxi:

group_by(col,..) %>% resum (acció)



El conjunt de dades en ús:

Sample_Superbotiga

Group_by() activat a columna única

Aquesta és la manera més senzilla d'agrupar una columna, només cal que passeu el nom de la columna a agrupar a la funció group_by() i l'acció que s'ha de realitzar en aquesta columna agrupada a la funció summarise().



Exemple: Agrupació d'una sola columna per group_by()

llista de creació de 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)>

>

>

Sortida:

Group_by() en diverses columnes

La funció Group_by() també es pot realitzar en dues o més columnes, els noms de les columnes han d'estar en l'ordre correcte. L'agrupació es produirà segons el nom de la primera columna de la funció group_by i després l'agrupació es farà segons la segona columna.

Exemple: Agrupació de diverses columnes

R




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)>

>

>

Sortida:

També podem calcular la mitjana, el recompte, el mínim o el màxim substituint la suma a la funció de resum o d'agregació. Per exemple, trobarem vendes i beneficis mitjans per al mateix grup_per exemple anterior.

Exemple:

R




gimp guarda com a jpeg

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)>

>

>

Sortida: