R: Base Plotting System

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.

No comments:

Post a Comment