logo

Grupuokite pagal funkciją R naudodami Dplyr

Funkcija Group_by() priklauso dplyr paketui R programavimo kalba, kuri sugrupuoja duomenų rėmelius. Vien funkcija Group_by() neduos jokios išvesties. Po jos turėtų būti suvestinė() funkcija su atitinkamu veiksmu. Jis veikia panašiai kaip GROUP BY SQL ir suvestinė lentelė programoje Excel.

Sintaksė:



group_by(col,…)

Sintaksė:

group_by(col,..) %>% summarise(action)



Naudojamas duomenų rinkinys:

Sample_Superstore

Group_by() įjungta a viena kolona

Tai yra paprasčiausias būdas sugrupuoti stulpelį, tiesiog funkcijoje group_by() nurodykite stulpelio, kurį norite sugrupuoti, pavadinimą ir veiksmą, kuris turi būti atliktas su šiuo sugrupuotu stulpeliu su summarise() funkcija.



Pavyzdys: Vieno stulpelio grupavimas pagal group_by()

palyginama java

R




library>(dplyr)> df =>read.csv>(>'Sample_Superstore.csv'>)> df_grp_region = df %>%>>>(Region) %>%> >summarise>(total_sales =>sum>(Sales),> >total_profits =>sum>(Profit),> >.groups =>'drop'>)> View>(df_grp_region)>

>

>

Išvestis:

Group_by() keliuose stulpeliuose

Funkciją Group_by() taip pat galima atlikti dviem ar daugiau stulpelių, stulpelių pavadinimai turi būti teisinga tvarka. Grupavimas bus atliekamas pagal pirmojo stulpelio pavadinimą funkcijoje group_by, o tada grupavimas bus atliktas pagal antrąjį stulpelį.

Pavyzdys: Kelių stulpelių grupavimas

R




library>(dplyr)> df =>read.csv>(>'Sample_Superstore.csv'>)> df_grp_reg_cat = df %>%>>(Region, Category) %>%> >summarise>(total_Sales =>sum>(Sales),> >total_Profit =>sum>(Profit),> >.groups =>'drop'>)> View>(df_grp_reg_cat)>

>

>

Išvestis:

Taip pat galime apskaičiuoti vidurkį, skaičių, mažiausią arba didžiausią sumą, pakeisdami sumą suvestinės arba agregacinės funkcijose. Pavyzdžiui, tos pačios grupės vidutinius pardavimus ir pelną rasime pagal aukščiau pateiktą pavyzdį.

Pavyzdys:

R


python generuoti uuid



library>(dplyr)> df =>read.csv>(>'Sample_Superstore.csv'>)> df_grp_reg_cat = df %>%>>>(Region, Category) %>%> >summarise>(mean_Sales =>mean>(Sales),> >mean_Profit =>mean>(Profit),> >.groups =>'drop'>)> View>(df_grp_reg_cat)>

>

>

Išvestis: