Dplyr: come riepilogare i dati mantenendo tutte le colonne
Quando si utilizza la funzione summarise() in dplyr , tutte le variabili non incluse nelle funzioni summarise() o group_by() verranno automaticamente rimosse.
Tuttavia, puoi utilizzare la funzione mutate() per riepilogare i dati mantenendo tutte le colonne nel frame di dati.
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: riepiloga i dati ma mantieni tutte le colonne utilizzando dplyr
Supponiamo di avere il seguente frame di dati contenente informazioni su vari giocatori di basket:
#create data frame df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 3 ), points=c(4, 9, 8, 12, 15, 14, 29, 30, 22), assists=c(3, 3, 2, 5, 8, 10, 4, 5, 12)) #view data frame df team points assists 1 to 4 3 2 to 9 3 3 to 8 2 4 B 12 5 5 B 15 8 6 B 14 10 7 C 29 4 8 C 30 5 9 C 22 12
Possiamo utilizzare la seguente sintassi per riassumere la media dei punti segnati per squadra :
library (dplyr) #summarize mean points values by team df %>% group_by(team) %>% summarize(mean_pts = mean(points)) # A tibble: 3 x 2 team mean_pts 1 to 7 2 B 13.7 3 C 27
La colonna denominata Mean_pts mostra la media dei punti segnati da ciascuna squadra.
Dal risultato possiamo vedere:
- La media dei punti segnati dai giocatori della squadra A è 7 .
- La media punti segnati dai giocatori della squadra B è di 13,7 .
- La media punti segnati dai giocatori della squadra C è di 27 .
Tuttavia, supponiamo di voler mantenere tutte le altre colonne del frame di dati originale.
Possiamo usare la seguente sintassi con la funzione mutate() per fare ciò:
library (dplyr) #summarize mean points values by team and keep all columns df %>% group_by(team) %>% mutate(mean_pts = mean(points)) %>% A group() # A tibble: 9 x 4 team points assists mean_pts 1 to 4 3 7 2 to 9 3 7 3 to 8 2 7 4 B 12 5 13.7 5 B 15 8 13.7 6 B 14 10 13.7 7 C 29 4 27 8 C 30 5 27 9 C 22 12 27
Usando la funzione mutate() , possiamo creare una nuova colonna chiamata Mean_pts che riassume la media dei punti segnati per squadra mantenendo tutte le altre colonne del data frame originale.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in dplyr:
dplyr: come mutare una variabile se la colonna contiene una stringa
dplyr: come modificare i livelli dei fattori utilizzando mutate()
dplyr: come aggiungere su più colonne