De functie Group_by() behoort tot het dplyr-pakket in de programmeertaal R, dat de dataframes groepeert. De functie Group_by() alleen levert geen uitvoer op. Het moet worden gevolgd door de functie summarise() met een passende actie om uit te voeren. Het werkt vergelijkbaar met GROUP BY in SQL en draaitabel in Excel.
Syntaxis:
group_by(kol,…)
Syntaxis:
group_by(col,..) %>% samenvatting(actie)
De gebruikte dataset:
Voorbeeld_Superstore
Group_by() aan A enkele kolom
Dit is de eenvoudigste manier waarop een kolom kan worden gegroepeerd. Geef gewoon de naam van de kolom die moet worden gegroepeerd door in de functie group_by() en de actie die moet worden uitgevoerd op deze gegroepeerde kolom in de functie summarise().
Voorbeeld: Eén kolom groeperen op group_by()
derde normaalvorm
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)> |
>
>
Uitgang:
Group_by() op meerdere kolommen
De functie Group_by() kan ook worden uitgevoerd op twee of meer kolommen, de kolomnamen moeten in de juiste volgorde staan. De groepering vindt plaats op basis van de eerste kolomnaam in de group_by-functie en vervolgens wordt de groepering uitgevoerd op basis van de tweede kolom.
Voorbeeld: Meerdere kolommen groeperen
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)> |
>
>
Uitgang:
voordelen van instagram voor persoonlijk gebruik
We kunnen ook het gemiddelde, het aantal, het minimum of het maximum berekenen door de som te vervangen in de samenvattings- of aggregatiefunctie. We zullen bijvoorbeeld de gemiddelde omzet en winst voor dezelfde groep per voorbeeld hierboven vinden.
Voorbeeld:
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)> |
>
>
Uitgang: