Visualizzazioni grafiche in R con ggplot2

R per utenti SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Pacchetto ggplot2

logo esasticker di ggplot2

  • ggplot2 è un potente pacchetto grafico per R
  • Le "GG" in ggplot stanno per "grammar of graphics"
  • ggplot2 costruisce i grafici a strati
  • Si aggiungono uno o più oggetti geometrici al livello base
R per utenti SAS

Strati - livello base

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Definisci il livello base con ggplot()
  • Imposta data = abalone
  • Imposta aes su sex e diameter

  • Nessun oggetto grafico ancora

  • L'asse x è pronto per sex
  • L'asse y è pronto per diameter
  • La griglia è predisposta

ambiente grafico ggplot2 senza boxplot

R per utenti SAS

Strati - aggiungi il geom boxplot

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • L'operatore + aggiunge uno strato
  • Aggiunto il boxplot con geom_boxplot()

  • Il risultato è una serie di boxplot

  • Diametri degli abalone per sesso
  • F femmine, I giovani, M maschi

ggplot2 boxplot aggiunti

R per utenti SAS

Strati - aggiungi un tema

# Add black white theme
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Aggiungi il livello "theme" con theme_bw()
  • Rimuove lo sfondo grigio
  • Disegna un bordo nero attorno al grafico

ggplot2 boxplot con tema bianco e nero

R per utenti SAS

Cambia il geom boxplot in geom violin

# Change to geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin sostituisce geom_boxplot
  • Crea una forma simile a un violino
  • Riflette la distribuzione di densità dei dati
  • Piccola modifica per una nuova figura

ggplot2 violin plot

R per utenti SAS

Istogramma a variabile singola

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Crea un istogramma per una variabile
  • Una variabile = una estetica
  • Aggiungi geom_histogram()
  • Imposta aes() su shuckedWeight
  • I colori predefiniti vanno cambiati

ggplot2 istogramma tutto nero

R per utenti SAS

Istogramma: aggiungi colori

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Modifica i parametri grafici
  • Imposta il color dei bordi dei bin
  • Imposta il fill dei bin
  • Ogni opzione è dentro le ()
  • L'istogramma è molto più chiaro

ggplot2 istogramma con barre blu e bordi neri

R per utenti SAS

Istogramma: aggiungi titolo ed etichette assi

# Add x, y axis labels and title
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue") +
  xlab("Shucked Weight") +
  ylab("Frequency Counts") +
  ggtitle("Shucked Weights Histogram")
  • Aggiungi etichette assi e titolo migliori
  • Usa xlab() e ylab() per gli assi
  • Usa ggtitle() per il titolo
  • Figura pronta per la pubblicazione!

ggplot2 istogramma con etichette assi e titolo

R per utenti SAS

Crea uno scatterplot

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • Lo aes per lo scatterplot richiede due variabili
  • geom_point() aggiunge i punti
  • Scatterplot dei pesi del guscio per anelli

ggplot2 scatterplot di shellWeight per rings

R per utenti SAS

Scatterplot: aggiungi linea smooth

# Add smoothed fit line
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • Allo scatterplot aggiungi la linea geom_smooth()
  • Include l'area di confidenza ombreggiata

ggplot2 scatterplot con linea di adattamento smooth

R per utenti SAS

Crea pannelli per un'altra variabile

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Aggiungi un altro strato allo scatterplot
  • Crea pannelli per ciascun sesso degli abalone
  • Aggiungi lo strato facet_wrap()
  • vars(sex) definisce la variabile per i pannelli

ggplot2 scatterplot con 3 pannelli per sesso

R per utenti SAS

Resto del corso

  • Il Capitolo 1 si chiude con una breve introduzione ai grafici
    • basi delle abilità grafiche con ggplot2
    • visualizza le misure degli abalone per sesso
  • Il Capitolo 2 insegna data wrangling
    • pulisci il dataset abalone
  • Il Capitolo 3 insegna metodi di esplorazione dati
    • statistiche descrittive, correlazioni e test di confronto
  • Il Capitolo 4 tratta modellazione e presentazione dei risultati
    • predici l'età degli abalone dalle misure
    • esplora i modelli per sesso
R per utenti SAS

Facciamo qualche grafico sugli abalone

R per utenti SAS

Preparing Video For Download...