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

geom_bar con stat="identity" in ggplot2

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

Aggiungi un commento

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