Quando utilizzare stat="identity" nei grafici ggplot2
Esistono due modi comuni per utilizzare la funzione geom_bar() in ggplot2 per creare grafici a barre:
Metodo 1: utilizzare geom_bar()
ggplot(df, aes(x)) + geom_bar()
Per impostazione predefinita, geom_bar() conterà semplicemente le occorrenze di ciascun valore univoco per la variabile x e utilizzerà le barre per visualizzare i conteggi.
Metodo 2: utilizzare geom_bar(stat=”identity”)
ggplot(df, aes(x, y)) +
geom_bar(stat=" identity ")
Se fornisci l’argomento stat=”identity” a geom_bar() allora stai dicendo a R di calcolare la somma della variabile y, raggruppata per la variabile x e di utilizzare le barre per visualizzare le somme.
I seguenti esempi illustrano la differenza tra questi due metodi utilizzando il seguente frame di dati in R che mostra i punti segnati da giocatori di basket di squadre diverse:
#create data frame df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 4 ), points=c(3, 5, 5, 6, 5, 7, 7, 8, 9, 9, 9, 8)) #view data frame df team points 1 to 3 2 to 5 3 to 5 4 to 6 5 B 5 6 B 7 7 B 7 8 B 8 9 C 9 10 C 9 11 C 9 12 C 8
Esempio 1: utilizzo di geom_bar()
Il codice seguente mostra come utilizzare la funzione geom_bar() per creare un grafico a barre che visualizza il conteggio di ciascun valore univoco nella colonna del team :
library (ggplot2) #create bar chart to visualize occurrence of each unique value in team column ggplot(df, aes(team)) + geom_bar()
L’asse X mostra i valori univoci nella colonna Team e l’asse Y mostra il numero di volte in cui si è verificato ciascun valore univoco.
Poiché ogni valore univoco è apparso 4 volte, l’altezza di ciascuna barra è 4 nel grafico.
Esempio 2: utilizzo di geom_bar(stat=”identity”)
Il codice seguente mostra come utilizzare la funzione geom_bar() con l’argomento stat=”identity” per creare un grafico a barre che mostri la somma dei valori nella colonna dei punti , raggruppati per squadra :
library (ggplot2) #create bar chart to visualize sum of points, grouped by team ggplot(df, aes(team, points)) + geom_bar(stat=" identity ")
L’asse X mostra i valori univoci nella colonna della squadra e l’asse Y mostra la somma dei valori nella colonna dei punti per ciascuna squadra.
Per esempio:
- La somma dei punti della squadra A è 19.
- I punti totali della squadra B sono 27.
- La somma dei punti per la squadra C è 35.
Utilizzando stat=”identity” nella funzione geom_bar() , possiamo visualizzare la somma dei valori di una particolare variabile nel nostro frame di dati anziché i conteggi.
Nota : affinché stat=”identity” funzioni correttamente, è necessario fornire sia una variabile x che una variabile y nell’argomento aes() .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in ggplot2:
Come regolare lo spazio tra le barre in ggplot2
Come rimuovere NA dalla trama in ggplot2
Come cambiare i colori delle barre nel grafico Bart in pila in ggplot2