logo

Raggruppa per funzione in R utilizzando Dplyr

La funzione Group_by() appartiene al pacchetto dplyr nel linguaggio di programmazione R, che raggruppa i frame di dati. La sola funzione Group_by() non fornirà alcun output. Dovrebbe essere seguito dalla funzione summarise() con un'azione appropriata da eseguire. Funziona in modo simile a GROUP BY in SQL e alla tabella pivot in Excel.

Sintassi:

group_by(col,…)



Sintassi:

group_by(col,..) %>% riepiloga(azione)

Il set di dati in uso:

Campione_Superstore

Group_by() attivo UN colonna singola

Questo è il modo più semplice con cui è possibile raggruppare una colonna, basta passare il nome della colonna da raggruppare nella funzione group_by() e l'azione da eseguire su questa colonna raggruppata nella funzione summarise().

Esempio: Raggruppamento di una singola colonna per group_by()

casuale c

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

>

>

Produzione:

Group_by() su più colonne

La funzione Group_by() può essere eseguita anche su due o più colonne, i nomi delle colonne devono essere nell'ordine corretto. Il raggruppamento avverrà in base al nome della prima colonna nella funzione group_by e quindi il raggruppamento verrà eseguito in base alla seconda colonna.

Esempio: Raggruppamento di più colonne

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

>

>

Produzione:

Possiamo anche calcolare la media, il conteggio, il minimo o il massimo sostituendo la somma nella funzione di riepilogo o aggregazione. Ad esempio, troveremo le vendite e i profitti medi per lo stesso gruppo_secondo l'esempio sopra.

Esempio:

R


converti la stringa in char java



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

>

>

Produzione: