Come raggruppare per due colonne in ggplot2 (con esempio)


Puoi utilizzare la seguente sintassi di base per raggruppare in base a due colonne durante la creazione di un grafico in ggplot2:

 ggplot(df, aes(x=var1, y=var2, color=var3, shape=var4,
       group=interaction(var3, var4))) + 
  geom_point() +
  geom_line()

Questo particolare codice produce un grafico lineare in cui i punti sono raggruppati per colonne var3 e var4 nel data frame.

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

Esempio: raggruppa per due colonne in ggplot2

Supponiamo di avere il seguente frame di dati in R che mostra le vendite totali nel corso di diverse settimane in due negozi diversi quando sono state eseguite due diverse promozioni:

 #create data frame
df <- data. frame (store=rep(c(' A ', ' B '), each= 8 ),
                 promo=rep(c(' Promo 1 ', ' Promo 2 '), each= 4 , times= 2 ),
                 week=rep(c(1:4), times= 4 ),
                 sales=c(1, 2, 6, 7, 2, 3, 5, 6, 3, 4, 7, 8, 3, 5, 8, 9))

#view data frame
df

   store promo week sales
1 A Promo 1 1 1
2 A Promo 1 2 2
3 A Promo 1 3 6
4 A Promo 1 4 7
5 A Promo 2 1 2
6 A Promo 2 2 3
7 A Promo 2 3 5
8 A Promo 2 4 6
9 B Promo 1 1 3
10 B Promo 1 2 4
11 B Promo 1 3 7
12 B Promo 1 4 8
13 B Promo 2 1 3
14 B Promo 2 2 5
15 B Promo 2 3 8
16 B Promo 2 4 9

Possiamo utilizzare il seguente codice per creare un grafico a linee in ggplot2 in cui i valori dei dati sono raggruppati per colonne negozio e promozione :

 library (ggplot2)

#create line plot with values grouped by store and promo
ggplot(df, aes(x=week, y=sales, color=store, shape=promo,
               group=interaction(store, promo))) + 
  geom_point(size= 3 ) +
  geom_line()

ggplot raggruppa per due colonne

Il risultato è un grafico a linee in cui ciascuna linea rappresenta i valori di vendita per ciascuna combinazione di negozio e promozione .

In particolare le quattro linee rappresentano i valori di vendita per le seguenti combinazioni:

  • Promo 1 presso il negozio A
  • Promo 2 presso il negozio A
  • Promo 1 presso il negozio B
  • Promo 1 presso il negozio B

Le due legende ai lati del grafico indicano quali linee rappresentano quali combinazioni.

Risorse addizionali

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

Come ruotare le etichette degli assi in ggplot2
Come impostare le interruzioni degli assi in ggplot2
Come impostare i limiti degli assi in ggplot2
Come modificare le etichette della legenda in ggplot2

Aggiungi un commento

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