Funkcja Group_by() należy do pakietu dplyr w języku programowania R, który grupuje ramki danych. Sama funkcja Group_by() nie daje żadnych wyników. Po niej powinna nastąpić funkcja podsumowania() z odpowiednią akcją do wykonania. Działa podobnie do GROUP BY w SQL i tabeli przestawnej w Excelu.
Składnia:
group_by(col,…)
Składnia:
group_by(col,..) %>% podsumowanie(akcja)
Używany zbiór danych:
Próbka_Supersklep
Group_by() włączone A pojedyncza kolumna
Jest to najprostszy sposób grupowania kolumn, wystarczy podać nazwę kolumny, która ma być zgrupowana w funkcji group_by() oraz akcję, która ma zostać wykonana na tej zgrupowanej kolumnie w funkcji summarise().
Przykład: Grupowanie pojedynczej kolumny według group_by()
dziedziczenie javy
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)> |
>
>
Wyjście:
Group_by() w wielu kolumnach
Funkcję Group_by() można także wykonać na dwóch lub większej liczbie kolumn, nazwy kolumn muszą być we właściwej kolejności. Grupowanie nastąpi według nazwy pierwszej kolumny w funkcji group_by, a następnie grupowanie nastąpi według drugiej kolumny.
Przykład: Grupowanie wielu kolumn
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)> |
>
>
Wyjście:
Możemy również obliczyć średnią, liczbę, minimum lub maksimum, zastępując sumę w funkcji podsumowania lub agregacji. Na przykład znajdziemy średnią sprzedaż i zyski dla tego samego przykładu group_by powyżej.
Przykład:
R
wejście Javy
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)> |
>
>
Wyjście: