5.4 Creare grafici con ggplot2()
Il pacchetto ggplot2()
è un potente strumento per rappresentare graficamente i dati. Le iniziali del nome, gg
, si riferiscono alla “Grammar of Graphics”, che è un modo di pensare le figure come una serie di layer stratificati. Originariamente descritta da Wilkinson (2012), la grammatica dei grafici è stata aggiornata e applicata in R
da Hadley Wickham, il creatore del pacchetto.
La funzione da cui si parte per inizializzare un grafico è ggplot()
. La funzione ggplot()
richiede due argomenti. Il primo è l’oggetto di tipo data.frame che contiene i dati da visualizzare – in alternativa al primo argomento, un dataframe può essere passato a ggplot()
mediante l’operatore pipe. Il secondo è una particolare lista che viene generata dalla funzione aes()
, la quale determina l’aspetto (aesthetic) del grafico. La funzione aes()
richiede necessariamente di specificare “x” e “y”, ovvero i nomi delle colonne del data.frame che è stato utilizzato quale primo argomento di ggplot()
(o che è stato passato da pipe), le quali rappresentano le variabili da porre rispettivamente sugli assi orizzontale e verticale.
La definizione della tipologia di grafico e i vari parametri sono poi definiti successivamente, aggiungendo all’oggetto creato da ggplot()
tutte le componenti necessarie. Saranno quindi altre funzioni, come geom_bar()
, geom_line()
o geom_point()
a occuparsi di aggiungere al livello di base barre, linee, punti, e così via. Infine, tramite altre funzioni, ad esempio labs()
, sarà possibile definire i dettagli più fini.
Gli elementi grafici (bare, punti, segmenti, …) usati da ggplot2
sono chiamati geoms
. Mediante queste funzioni è possibile costruire diverse tipologie di grafici:
geom_bar()
: crea un layer con delle barre;geom_point()
: crea un layer con dei punti (diagramma a dispersione);geom_line()
: crea un layer con una linea retta;geom_histogram()
: crea un layer con un istogramma;geom_boxplot()
: crea un layer con un box-plot;geom_errorbar()
: crea un layer con barre che rappresentano intervalli di confidenza;geom_hline()
egeom_vline()
: crea un layer con una linea orizzontale o verticale definita dall’utente.
Un comando generico ha la seguente forma:
La prima volta che si usa il pacchetto ggplot2
è necessario installarlo. Per fare questo possiamo installare tidyverse
che, oltre a caricare ggplot2
, carica anche altre utili funzioni per l’analisi dei dati. Ogni volta che si inizia una sessione R è necessario attivare i pacchetti che si vogliono usare, ma non è necessario istallarli una nuova volta. Se è necessario specificare il pacchetto nel quale è contenuta la funzione che vogliamo utilizzare, usiamo la sintassi package::function()
. Per esempio, l’istruzione ggplot2::ggplot()
rende esplicito che stiamo usando la funzione ggplot()
contenuta nel pacchetto ggplot2
.