logo

Grupper etter funksjon i R ved å bruke Dplyr

Group_by()-funksjonen tilhører dplyr-pakken i programmeringsspråket R, som grupperer datarammene. Group_by()-funksjonen alene vil ikke gi noe utdata. Den bør følges av summarise()-funksjonen med en passende handling å utføre. Det fungerer på samme måte som GROUP BY i SQL og pivottabell i excel.

Syntaks:



group_by(col,...)

Syntaks:

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



Datasettet som er i bruk:

Eksempel_Superstore

Group_by() på en enkelt kolonne

Dette er den enkleste måten en kolonne kan grupperes på, bare send navnet på kolonnen som skal grupperes i group_by()-funksjonen og handlingen som skal utføres på denne grupperte kolonnen i summarise()-funksjonen.



Eksempel: Gruppering av enkelt kolonne etter group_by()

bfs og dfs

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

>

>

Produksjon:

Group_by() på flere kolonner

Group_by()-funksjonen kan også utføres på to eller flere kolonner, kolonnenavnene må være i riktig rekkefølge. Grupperingen vil skje i henhold til det første kolonnenavnet i group_by-funksjonen og deretter vil grupperingen gjøres i henhold til den andre kolonnen.

Eksempel: Gruppering av flere kolonner

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

>

>

Produksjon:

Vi kan også beregne gjennomsnitt, antall, minimum eller maksimum ved å erstatte summen i oppsummerings- eller aggregeringsfunksjonen. For eksempel vil vi finne gjennomsnittlig salg og fortjeneste for samme group_by eksempel ovenfor.

Eksempel:

R




java date nå

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

>

>

Produksjon: