Ricerca Sociale con R

Una wiki per l'analisi dei dati con R

Strumenti Utente

Strumenti Sito


Il Laboratorio di Analisi dei Dati con R, dell'Università di Teramo su piattaforma Meet, inizia il 9 aprile 2021 - Iscrizione - email
r:ggplot2:ggplot

ggplot

Fondamentalmente, per creare un grafico con ggplot2, dobbiamo indicare:

  • un dataset;
  • una mappatura delle variabili da rappresentare (mapping = aes());
  • una geometria (geom), ovvero il tipo di rappresentazione desiderata.

Mappatura (aes) e rappresentazioni geometriche (geom)

library(tidyverse)
cars %>% 
  ggplot(aes(x = speed, y = dist)) +       # mappatura delle variabili
  geom_point()                             # geometria "punti" per rappresentarle
&nolink |

mapping = può essere omesso.

Possiamo ottenere lo stesso grafico scrivendo:

cars %>% 
  ggplot() +
  aes(x = speed, y = dist) +                          # aes come comando a parte
  geom_point() 
 
cars %>% 
  ggplot() +
  geom_point(aes(x = speed, y = dist) )               # aes in geom

Vediamo la differenza fra mapping = aes e geom:

&nolink |
library(carData)
 
SLID %>% 
  na.omit() %>%                                       # ometto i casi mancanti
  ggplot(aes(x = language)) +
  geom_bar(fill = "orange")                           # indico un colore

In geom() è possibile indicare un colore o un vettore di colori per le forme rappresentate, come in graphics1).

&nolink |
&nolink |
SLID %>% 
  na.omit() %>% 
  ggplot(aes(x = language, fill = language)) +        # mappo una variabile
  geom_bar() 
SLID %>% 
  na.omit() %>%                            
  ggplot() + 
  geom_bar(aes(x = language, fill = sex))             # mappo un'altra variabile

Con aes, invece, indico una variabile da “mappare”, ovvero da rappresentare attraverso il colore: quindi anche una variabile diversa, come nel grafico a destra.

Per la variabile o le variabili mappate in questo modo viene prodotta automaticamente una legenda.

Script di esempio

E' possibile scaricare ed eseguire lo script dell'esempio:

ggplot_base.R
library(tidyverse)
 
# grafico base
cars %>% 
  ggplot(aes(x = speed, y = dist)) +
  geom_point()
 
library(carData)
 
# differenza fra geom e aes
SLID %>% 
  na.omit() %>%                                       # ometto i casi mancanti
  ggplot(aes(x = language)) +
  geom_bar(fill = "orange")                           # indico un colore
 
SLID %>% 
  na.omit() %>% 
  ggplot(aes(x = language, fill = language)) +        # mappo una variabile
  geom_bar() 
 
SLID %>% 
  na.omit() %>%                            
  ggplot() + 
  geom_bar(aes(x = language, fill = sex))             # mappo un'altra variabile

1) In questo contesto, il piping (%>% - ctrl + alt + M in RStudio ) è particolarmente comodo e semplice da usare. Non solo non è più necessario indicare il set di dati nei comandi successivi, ma le trasformazioni effettuate sul set di dati - come ad esempio eliminare i casi con valori mancanti - non sono permanenti. Il vantaggio sta nel fatto che non dobbiamo creare un subset per rappresentare i dati che ci interessano
r/ggplot2/ggplot.txt · Ultima modifica: 25/09/2021 13:21 da admin