library(ggplot2)
# per i grafici
# Due funzioni fondamentali: qplot() cioè quickplot, simile a plot() del base, e ggplot(), più flessibile e avanzata.
# qplot()
# in un'unica funzione crea il grafico
qplot(x, y, data=tabella) # grafico a dispersione completo di etichette degli assi
qplot(x, y, data=tab, color=z) # con color etichettati i punti in base al valore di z, legenda automatica
qplot(x, y, data=tab, color=z, geom=c("point","smooth")) # con geom aggiunto trend con
# limiti dell'intervallo di confidenza al 95% ("point" riferito ai dati, "smooth" al tipo di linea)
qplot(x, y, data=tab, facets=.~z) # con facets divido il grafico in n sottografici: il valore prima di ~
# indica il numero di "righe" quello a destra le "colonne" (. indica una singola riga, il numero di colonne sarà
# uguale al numero di valori di z, in base ai quali sarà suddiviso il grafico)
qplot(x, y, data=tab, geom=c("point","smooth"), facets=.~z)
# sottografici e trend con intervalli di confidenza
qplot(x, y, data=tab, geom="boxplot") # con geom costruito un boxplot al posto del grafico a
# dispersione.
qplot(x, y, data=tab, geom="boxplot", color=z) # boxplot separati e etichettati per z
qplot(z, data=tab, fill=w) # istogramma con valori di z. Ogni asta è divisa in colori diversi in base a w.
# Avendo specificato solo una variabile prima di data, capisce che è un istogramma
qplot(z ,data=tab, facets= w~., binwidth=2) # con facets ho diviso il grafico in n "righe" (in
# base al numero di valori di w), binwidth indica l'ampiezza di ogni singolo bin
qplot(z ,data=tab, geom="bar", weight=y) # barplot di z in base ai valori di y
# ggplot()
# A differenza di qplot() il grafico è costruito in più step
g <- ggplot(tab, aes(x, y)) # assegno a g il grafico che utilizza le variabili x e y della tabella tab
summary(g) # riepiloga da cosa è costituito l'oggetto g
g # grafico vuoto, non ho specificato cosa voglio
g+geom_point() # grafico a dispersione con x e y specificati quando ho costruito g
g+geom_point()+geom_smooth() # grafico a dispersione con trend e intervallo confidenza 0.95
g+geom_point()+geom_smooth(method="lm", se=FALSE) # il trend costruito con regressione
# lineare semplice, se=FALSE per non mostrare l'intervallo di confidenza
g+geom_point()+geom_smooth(method="lm")+facet_grid(.~w) # diviso verticalmente in "w"
# parti
g+geom_point(color="red", size=4, alpha=1/2) # dispersione con punti rossi di dimensione 4 e
# trasparenza 50% che ci consente di vedere la densità
g+geom_point(size=4, alpha=1/2, aes(color=z)) # rispetto a prima colori diversi in base a z.
# Dobbiamo usare aes() e non direttamente color perché il colore non è più una costante come prima
# Aggiungendo xlab(), ylab(), e ggtitle() diamo titoli a assi e grafico, oppure insieme come parametri di labs()
g+geom_point(aes(color=drv))+labs(title="Titolo!", x="X",y="Y")
g+geom_point(aes(color=drv))+theme_bw(base_family="Times") # theme_bw() toglie lo
# sfondo grigio, e con l'argomento base_family cambiato il font
g + geom_line()+ylim(-3,3) # grafico a linea in cui il range è predefinito. Con il parametro ylim(), gli
# outliers fuori dal range non vengono inclusi nel grafico
g + geom_line()+coord_cartesian(ylim=c(-3,3)) # in questo caso l'outlier è incluso nel grafico
# ma si vede la linea che esce dal range e poi rientra (non è nel grafico ma c'è, prima lo escludeva a priori)
g+geom_point()+facet_grid(w~z, margins=TRUE) # con margins aggiunte una riga e una colonna
# di "sottografici" con i totali di riga e colonna (e totalone)
g+geom_boxplot()+facet_grid(.~w) # n boxplot in base a w
g+geom_bar(stat='identity') # barplot: stat='identity' da aggiungere se una colonna contiene già i
# valori di y (nessuna somma da fare)
# Per impostare le etichette dell'asse, quando si crea la base del grafico usare scale_x_continuous per variabile
# continua, scale_x_discrete se discreta (y per altro asse)
g <- ggplot(tab, aes(x, y))+scale_x_continuous(breaks = c(1,2,3,4))
No comments:
Post a Comment