logo

Grupējiet pēc funkcijas R, izmantojot Dplyr

Funkcija Group_by() pieder dplyr pakotnei programmēšanas valodā R, kas grupē datu kadrus. Funkcija Group_by() viena pati nedos nekādu izvadi. Tai jāseko funkcijai summarise() ar atbilstošu darbību, kas jāveic. Tas darbojas līdzīgi kā GROUP BY programmā SQL un rakurstabula programmā Excel.

Sintakse:



group_by(col,…)

Sintakse:

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



Izmantotā datu kopa:

Sample_Superstore

Group_by() ieslēgts a viena kolonna

Šis ir vienkāršākais veids, kā grupēt kolonnu, vienkārši nododiet grupējamās kolonnas nosaukumu funkcijā group_by() un darbību, kas jāveic šai grupētajai kolonnai funkcijā summarise().



Piemērs: Vienas kolonnas grupēšana pēc group_by()

java beigas

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

>

>

Izvade:

Group_by() vairākās kolonnās

Funkciju Group_by() var izpildīt arī divās vai vairākās kolonnās, kolonnu nosaukumiem jābūt pareizā secībā. Grupēšana notiks atbilstoši pirmās kolonnas nosaukumam funkcijā group_by, un pēc tam grupēšana tiks veikta saskaņā ar otro kolonnu.

Piemērs: Vairāku kolonnu grupēšana

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

>

>

Izvade:

Mēs varam arī aprēķināt vidējo, skaitu, minimumu vai maksimumu, aizstājot summu apkopošanas vai apkopošanas funkcijā. Piemēram, mēs atradīsim vidējo pārdošanas apjomu un peļņu tai pašai grupai, izmantojot iepriekš minēto piemēru.

Piemērs:

matemātiskās metodes java

R




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

>

>

Izvade: