Group_by()-funktionen hører til dplyr-pakken i programmeringssproget R, som grupperer datarammerne. Group_by()-funktionen alene vil ikke give noget output. Den skal efterfølges af summarise()-funktionen med en passende handling, der skal udføres. Det fungerer på samme måde som GROUP BY i SQL og pivottabel i excel.
Syntaks:
group_by(col,...)
Syntaks:
group_by(col,..) %>% summarise(action)
Datasættet i brug:
Eksempel_Superstore
Group_by() on -en enkelt kolonne
Dette er den enkleste måde, hvorpå en kolonne kan grupperes, bare giv navnet på kolonnen, der skal grupperes, i group_by()-funktionen og handlingen, der skal udføres på denne grupperede kolonne i summarise()-funktionen.
Eksempel: Gruppering af enkelt kolonne efter group_by()
statisk i c
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)> |
>
>
Produktion:
Group_by() på flere kolonner
Group_by()-funktionen kan også udføres på to eller flere kolonner, kolonnenavnene skal være i den rigtige rækkefølge. Grupperingen vil ske i henhold til det første kolonnenavn i group_by-funktionen og derefter vil grupperingen blive udført i henhold til den anden kolonne.
Eksempel: Gruppering af flere kolonner
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)> |
>
>
Produktion:
Vi kan også beregne middelværdi, antal, minimum eller maksimum ved at erstatte summen i opsummerings- eller aggregeringsfunktionen. For eksempel vil vi finde gennemsnitlig salg og fortjeneste for den samme group_by eksempel ovenfor.
Eksempel:
R
pseudokode java
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)> |
>
>
Produktion: