Come creare un grafico a barre in r


Un grafico a strisce è un tipo di grafico che visualizza dati numerici lungo una singola banda. Simili ai box plot , i grafici a barre possono aiutarti a visualizzare la distribuzione dei dati. I grafici a barre possono essere una buona alternativa ai box plot quando le dimensioni del campione sono piccole, in modo da poter visualizzare i singoli punti dati.

Questo tutorial spiega come creare un grafico a strisce in R utilizzando la funzione stripchart() incorporata.

La funzione stripchart()

La sintassi di base per creare un grafico a barre in R è:

stripchart(x, metodo, jitter, principale, xlab, ylab, col, pch, verticale, group.names)

  • x : un vettore numerico o un elenco di vettori numerici da tracciare. Questo è l’unico argomento richiesto per produrre una trama.
  • metodo : il metodo da utilizzare per separare i punti che hanno valori identici. Il metodo predefinito “overplot” fa sì che questi punti vengano sovrapposti, ma è possibile specificare “jitter” per tremare i punti o “stack” per impilare i punti.
  • jitter : quando viene utilizzato il metodo = “jitter”, fornisce la quantità di jitter da applicare.
  • principale: titolo del grafico
  • xlab : etichetta dell’asse x
  • ylab : etichetta dell’asse y
  • col : colore dei punti della trama
  • pch : forma dei punti del grafico
  • verticale : quando verticale è “VERO”, per impostazione predefinita il percorso viene disegnato verticalmente anziché orizzontalmente
  • group.names : etichette di gruppo da stampare accanto al grafico, se vengono tracciati più vettori numerici.

Grafico a barre per un singolo vettore digitale

L’esempio seguente utilizza il set di dati R incorporato iris per creare un grafico a barre per un singolo vettore numerico.

 #view first six rows of iris dataset
head(iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa

Il codice seguente crea un grafico in banda base per la variabile Sepal.Length :

 stripchart(iris$Sepal.Length)

Possiamo anche aggiungere ulteriori argomenti per aggiungere un titolo ed un’etichetta sull’asse x, cambiare il colore dei punti, cambiare la forma dei punti e utilizzare il metodo “jitter” in modo che i singoli punti non si sovrappongano:

 stripchart(iris$Sepal.Length,
           main = 'Sepal Length Distribution',
           xlab = 'Sepal Length',
           col = 'red',
           pch = 1,
           method = 'jitter')

Invece di mescolare i punti, possiamo “impilarli”:

 stripchart(iris$Sepal.Length,
           main = 'Sepal Length Distribution',
           xlab = 'Sepal Length',
           col = 'red',
           pch = 1,
method = 'stack' )

Possiamo anche visualizzare il grafico verticalmente anziché orizzontale predefinito e modificare l’etichetta dell’asse in modo che sia sull’asse y:

 stripchart(iris$Sepal.Length,
           main = 'Sepal Length Distribution',
ylab = 'Sepal Length' ,
           col = 'red',
           pch = 1,
           method = 'jitter',
vertical = TRUE )

Grafico a barre per più vettori numerici

Possiamo anche disegnare più grafici a strisce in un unico grafico passando un elenco di vettori numerici.

Il codice seguente crea un elenco contenente le variabili Lunghezza e Larghezza sepalo nel set di dati dell’iride e produce un grafico a barre per ciascuna variabile in un unico grafico:

 #create list of variables
x <- list('Sepal Length' = iris$Sepal.Length, 'Sepal Width' = iris$Sepal.Width)

#create plot that contains one strip chart per variable
stripchart(x,
           main = 'Sepal Width & Length Distributions',
           xlab = 'Measurement', 
           ylab = 'Variable',
           col = c('steelblue', 'coral2'),
           pch = 16,
           method = 'jitter')

Proprio come nell’esempio precedente, possiamo scegliere di tracciare i grafici a barre verticalmente invece che orizzontalmente:

 stripchart(x, main = 'Sepal Width & Length Distributions',
           xlab = 'Measurement', 
           ylab = 'Variable',
           col = c('steelblue', 'coral2'),
           pch = 16,
           method = 'jitter',
vertical = TRUE )

Inoltre, possiamo passare una formula della forma y~x nella funzione stripchart(), dove y è un vettore numerico raggruppato in base al valore di x .

Ad esempio, nel dataset dell’iride , potremmo raggruppare i dati per specie che ha tre valori distinti (“setosa”, “versicolor” e “virginica”) e quindi tracciare la lunghezza dei sepali per ciascuna specie in un grafico a barre:

 stripchart(Sepal.Length ~ Species,
           data = iris,
           main = 'Sepal Length by Species',
           xlab = 'Species', 
           ylab = 'Sepal Length',
           col = c('steelblue', 'coral2', 'purple'),
           pch = 16,
           method = 'jitter',
           vertical = TRUE)

Per visualizzare la documentazione completa per la funzione stripchart() in R, è sufficiente digitare:

 ?stripchart

Aggiungi un commento

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