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