Come tracciare dati categorici in r (con esempi)


Nelle statistiche, i dati categorici rappresentano dati che possono assumere nomi o etichette.

Esempi inclusi:

  • Stato di fumatore (“fumatore”, “non fumatore”)
  • Colore degli occhi (“blu”, “verde”, “nocciola”)
  • Livello di istruzione (es. “scuola superiore”, “laurea”, “laurea magistrale”)

Tre grafici comunemente utilizzati per visualizzare questo tipo di dati includono:

  • Grafico a barre
  • Trame di mosaico
  • Box plot per gruppo

Gli esempi seguenti mostrano come creare ciascuno di questi grafici in R.

Esempio 1: grafici a barre

Il codice seguente mostra come creare un grafico a barre per visualizzare la frequenza degli spostamenti in un determinato frame di dati:

 library (ggplot2)

#create data frame
df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
                 team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
                 points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
                 rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))

#create bar chart of teams
ggplot(df, aes (x=team)) +
  geom_bar()

L’asse x mostra il nome di ciascuna squadra e l’asse y mostra la frequenza di ciascuna squadra nel frame di dati.

Possiamo anche utilizzare il seguente codice per ordinare le barre nel grafico dalla più grande alla più piccola:

 #create bar chart of teams, ordered from large to small
ggplot(df, aes (x= reorder (team, team, function (x)- length (x)))) +
  geom_bar(fill=' steelblue ') +
  labs(x=' Team ') 

Esempio 2: box plot per gruppo

I boxplot raggruppati sono un modo utile per visualizzare una variabile numerica, raggruppata per una variabile categoriale.

Ad esempio, il codice seguente mostra come creare boxplot che mostrano la distribuzione dei punti segnati, raggruppati per squadra:

 library (ggplot2)

#create data frame
df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
                 team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
                 points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
                 rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))

#create boxplots of points, grouped by team
ggplot(df, aes (x=team, y=points)) +
  geom_boxplot(fill=' steelblue ')

L’asse x mostra le squadre e l’asse y mostra la distribuzione dei punti segnati da ciascuna squadra.

Esempio 3: trama a mosaico

Un grafico a mosaico è un tipo di grafico che visualizza le frequenze di due diverse variabili categoriali in un unico grafico.

Ad esempio, il codice seguente mostra come creare un grafico a mosaico che mostra la frequenza delle variabili categoriali “risultato” e “team” in un singolo grafico:

 #create data frame
df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
                 team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
                 points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
                 rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))

#create table of counts
counts <- table(df$result, df$team)

#create mosaic plot
mosaicplot(counts, xlab=' Game Result ', ylab=' Team ',
           main=' Wins by Team ', col=' steelblue ') 

Terreno a mosaico in R

L’asse x mostra il risultato del gioco e l’asse y mostra le quattro diverse squadre.

Risorse addizionali

I seguenti tutorial spiegano come creare altri grafici comuni in R:

Come creare un barplot in pila in R
Come creare un barplot clusterizzato in R
Come creare un grafico di punti in pila in R

Aggiungi un commento

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