Come utilizzare ungroup() in dplyr (con esempi)


È possibile utilizzare la funzione ungroup() in dplyr per separare le righe dopo aver utilizzato la funzione group_by() per riepilogare una variabile per gruppo.

L’esempio seguente mostra come utilizzare questa funzione nella pratica.

Esempio: come utilizzare ungroup() in dplyr

Supponiamo di avere il seguente frame di dati in R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 dots=c(14, 18, 22, 26, 36, 34),
                 assists=c(5, 4, 4, 8, 7, 3))

#view data frame
df

  team points assists
1 to 14 5
2 to 18 4
3 to 22 4
4 B 26 8
5 B 36 7
6 B 34 3

Supponiamo ora di utilizzare il seguente codice per calcolare il valore del punto medio, raggruppato per squadra :

 library (dplyr)

#calculate mean of points, grouped by team
df_new <- df %>%
            group_by(team) %>%
            summarize(mean_points = mean(points)) %>%
            A group()

#view results
df_new

# A tibble: 2 x 2
  team mean_points
         
1 to 18
2 B 32

Usando questa sintassi possiamo calcolare il valore medio dei punti raggruppati per squadra , ma abbiamo perso la colonna degli assist .

Per mantenere la colonna helper , possiamo usare mutate() invece di summary() e usare comunque ungroup() alla fine:

 library (dplyr)

#calculate mean of points, grouped by team
df_new <- df %>%
            group_by(team) %>%
            mutate(mean_points = mean(points)) %>%
            A group()

#view results
df_new

# A tibble: 6 x 4
  team points assists mean_points
              
1 A 14 5 18
2 A 18 4 18
3 A 22 4 18
4 B 26 8 32
5 B 36 7 32
6 B 34 3 32

Questa volta siamo in grado di mantenere la colonna degli assist e utilizzando la funzione mutate() abbiamo semplicemente aggiunto una nuova colonna chiamata Mean_points che mostra il valore medio dei punti per ciascuna squadra.

Poiché abbiamo utilizzato anche la funzione ungroup() , possiamo eseguire calcoli su questo nuovo frame di dati senza preoccuparci dei calcoli influenzati dalle variabili raggruppate.

Se non utilizzassimo la funzione ungroup() , le righe nel frame di dati verrebbero comunque raggruppate insieme, il che potrebbe avere conseguenze indesiderate quando eseguiremo altri calcoli in seguito.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come filtrare valori univoci utilizzando dplyr
Come filtrare in base a più condizioni utilizzando dplyr
Come contare il numero di occorrenze nelle colonne in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *