Funkce Group_by() patří do balíčku dplyr v programovacím jazyce R, který seskupuje datové rámce. Samotná funkce Group_by() neposkytuje žádný výstup. Po něm by měla následovat funkce summarise() s příslušnou akcí, kterou je třeba provést. Funguje podobně jako GROUP BY v SQL a kontingenční tabulka v Excelu.
Syntax:
group_by(col,…)
Syntax:
group_by(col,..) %>% summarise(action)
Používaná datová sada:
Sample_Superstore
Group_by() zapnuto A jeden sloupec
Toto je nejjednodušší způsob, jak lze sloupec seskupit, stačí předat název sloupce, který má být seskupen, do funkce group_by() a akci, která se má provést s tímto seskupeným sloupcem, ve funkci summarise().
Příklad: Seskupení jednoho sloupce podle group_by()
c++ rozdělený řetězec
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)> |
>
>
Výstup:
Group_by() na více sloupcích
Funkce Group_by() může být také provedena na dvou nebo více sloupcích, názvy sloupců musí být ve správném pořadí. Seskupení proběhne podle názvu prvního sloupce ve funkci group_by a poté se seskupení provede podle druhého sloupce.
Příklad: Seskupování více sloupců
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)> |
>
>
Výstup:
Můžeme také vypočítat průměr, počet, minimum nebo maximum nahrazením součtu v sumární nebo agregační funkci. Nalezneme například průměrné tržby a zisky pro stejný příklad skupiny podle výše.
Příklad:
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)> |
>
kontrola java je nulová
>
Výstup: