logo

Grupuj według funkcji w R za pomocą Dplyr

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: