logo

Združi po funkciji v R z uporabo Dplyr

Funkcija Group_by() pripada paketu dplyr v programskem jeziku R, ki združuje podatkovne okvire. Sama funkcija Group_by() ne bo dala nobenega rezultata. Slediti mu mora funkcija sumarise() z ustreznim dejanjem, ki ga je treba izvesti. Deluje podobno kot GROUP BY v SQL in vrtilni tabeli v excelu.

Sintaksa:



skupina_po(kol,…)

Sintaksa:

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



Nabor podatkov v uporabi:

Sample_Superstore

Group_by() vklopljeno a en stolpec

To je najpreprostejši način za združevanje stolpca v skupine; v funkciji group_by() preprosto posredujte ime stolpca, ki ga želite združiti, v funkciji summarise() pa dejanje, ki naj se izvede na tem združenem stolpcu.



primer: Združevanje posameznega stolpca z group_by()

ovojnica besedila css

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)>

>

>

Izhod:

Group_by() na več stolpcih

Funkcijo Group_by() je mogoče izvesti tudi na dveh ali več stolpcih, imena stolpcev morajo biti v pravilnem vrstnem redu. Združevanje bo izvedeno glede na ime prvega stolpca v funkciji group_by, nato pa bo združevanje izvedeno glede na drugi stolpec.

primer: Združevanje več stolpcev

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)>

>

preimenovanje imenika
>

Izhod:

Izračunamo lahko tudi povprečje, štetje, minimum ali maksimum z zamenjavo vsote v funkciji seštevanja ali združevanja. Na primer, našli bomo povprečno prodajo in dobiček za isto skupino_z zgornjim primerom.

primer:

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)>

>

>

Izhod: