R include un pacchetto base per i grafici (Base Plotting System). Con questo pacchetto prima si crea il grafico, poi si aggiungono annnotazioni, titoli, ecc.
# boxplot:
boxplot(tabella$colonna)
Utilizzando
abline(h=mean(tabella$colonna)
aggiungiamo al boxplot linea orizzontale all'altezza di della media.
Con
title(main="TITOLO")
aggiungiamo il titolo al grafico.
Per fare un istogramma (frequenza per colonna):
hist(tabella$colonna,col="red")
L'argomento col permette di scegliere un colore diverso dal default.
Con la clausola breaks:
hist(tabella$colonna,col="green", breaks=100)
possiamo decidere il numero di barre in cui sarà diviso l'istogramma
abline(v=median(tabella$colonna), lwd=4)
come prima abbiamo aggiunto una linea (verticale per l'istogramma naturalmente) corrispondente alla mediana. Il paramentro lwd serve per cambiare lo spessore della linea.
rug(tabella$colonna)
aggiunge un grafico a una dimensione sotto all'istogramma che mostra la concentrazione di osservazioni per ogni barra.
barplot(tabella$colonna, main = "Titolo")
Costruisce un grafico a barre. La clausola main consente di specificare il titolo del grafico.
E' possibile aggiungere o cambiare il titolo anche successivamente con la funzione title:
title("Nuovo titolo")
Se vogliamo n boxplot, che mostrino i valori di una colonna sulla base dei valori di un'altra:
boxplot(colonna1~colonna2, data=tabella)
Invece per poter confrontare due istogrammi dobbiamo farne uno alla volta, dopo aver diviso orizzontalmente l'area di output in due parti con il comando par:
par(mfrow=c(2,1),mar=c(4,4,2,1))
Il parametro mfrow serve per questa divisione (due "righe" e una "colonna"), mentre mar serve per specificare la larghezza dei 4 margini (in quest'ordine: inferiore, sinistro, superiore, destro).
La funzione par(), oltre a questo, serve per cambiare decine di parametri grafici, dai simboli del grafico a dispersione, ai caratteri, ai colori. Trovate tutti i parametri qui.
A questo punto facciamo i due istogrammi, filtrando come prima la prima colonna in base al valore dell'altra:
hist(subset(tabella, colonna1 == "parametro1")$colonna2, xlab="asse1", ylab="asse2")
hist(subset(tabella, colonna1 == "parametro1")$colonna2, xlab="asse1", ylab="asse2")
Con xlab e ylab etichettiamo gli assi.
Possiamo aggiungere un titolo generale ai due grafici (che a loro volta possono avere un titolo) con la funzione mtext():
mtext("TITOLONE", outer=TRUE)
Per fare un grafico a dispersione il comando è il seguente
plot(tabella$colonna1, tabella$colonna2)
Come visto in uno dei post precedenti, possiamo usare il with per non dover ripetere sempre il nome della tabella, quindi il comando precedente è equivalente a:
with(tabella, plot(colonna1, colonna2))
Per aggiungere una terza dimensione, colorando i punti in base a un'etichetta costruita in base al valore di una terza colonna, possiamo utilizzare l'argomento col in questo modo:
plot(tabella$colonna1, tabella$colonna2, col=tabella$colonna3)
Se vogliamo creare solo la base del grafico e aggiungere in un secondo tempo i dati, settiamo a "n" il parametro type:
plot(tabella$colonna1, tabella$colonna2, type ="n")
Poi, magari dopo aver sistemato altri parametri grafici, possiamo aggiungere i dati con la funzione points(). Questo può servirci se vogliamo ad esempio filtrare i dati e dagli simboli e colori diversi in base a un parametro:
points(subset(tabella, colonna1 == "parametro1")$colonna1, subset(tabella, colonna1 == "parametro1")$colonna2, pch=17, col="blue")
Poi possiamo aggiungere altri punti:
points(subset(tabella, colonna1 != "parametro1")$colonna1, subset(tabella, colonna1 != "parametro1")$colonna2, pch=8, col="blue")
Pch permette di cambiare il simbolo del punto un grafico a dispersione (17 corrisponde ai triangoli pieni, 8 al fiocco di neve stilizzato).
A questo punto serve una bella legenda per dire a cosa corrispondono i punti:
legend("topright", pch=c(17,8), col=c("blue","red"), legend=c("parametro1","Altro"))
Il primo parametro indica la posizione della legenda, con gli altri abbiamo impostato simbolo, colore e testo della legenda.
Con questi comandi abbiamo solo visualizzato sul monitor i grafici. E' possibile invece decidere di salvarli su file anteponendo alla costruzione del grafico il comando:
pdf(file="nomegrafico.pdf")
per salvarlo su pdf.
Dopo aver costruito il grafico, è necessario chiudere il tutto con il comando
dev.off()
altrimenti il file rimane aperto in R.
E' possibile anche costruire il grafico su monitor e copiarlo successivamente. Il comando:
dev.copy(jpeg,"grafico.jpg")
Salva il grafico su un file jpeg.
Categories
Bash
(3)
BOT
(2)
C#
(1)
Cluster Analysis
(1)
Data Cleaning
(6)
Data Ingestion
(2)
Data Science Specialization
(10)
Data Visualization
(15)
ggplot2
(1)
Hadoop
(1)
Hashnode
(3)
Machine Learning
(5)
MapReduce
(1)
Maps
(1)
Markdown
(7)
Market Basket Analysis
(1)
MATLAB
(1)
Matplotlib
(3)
Numpy
(2)
Octave
(1)
Pandas
(3)
Python
(17)
R
(22)
Regression
(7)
scikit-learn
(1)
Seaborn
(1)
Shell
(3)
Shiny App
(1)
SSIS
(3)
Statistical Inference
(2)
T-SQL
(8)
Unix
(3)
No comments:
Post a Comment