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