Vizualizări grafice în R cu ggplot2

R pentru utilizatorii de SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Pachetul ggplot2

Logo hexsticker ggplot2

  • ggplot2 este un pachet grafic puternic pentru R
  • „GG" din ggplot provine de la „grammar of graphics" (gramatica graficelor)
  • ggplot2 construiește graficele prin straturi succesive
  • Unul sau mai multe obiecte geometrice se adaugă peste stratul de bază
R pentru utilizatorii de SAS

Straturi - stratul de bază

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Definește stratul de bază cu ggplot()
  • Setează data = abalone
  • Setează aes la sex și diameter

  • Încă nu există obiecte grafice în plot

  • Axa x e pregătită pentru sex
  • Axa y e pregătită pentru diameter
  • grila este trasată

Mediu grafic ggplot2 fără boxplot încă

R pentru utilizatorii de SAS

Straturi - adaugă geom boxplot

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • Operatorul plus + adaugă un strat
  • Boxplot geom_boxplot() adăugat

  • Rezultatul e o serie de boxploturi

  • Diametre de abalone după sex
  • F femele, I juvenili și M masculi

Boxploturi ggplot2 adăugate

R pentru utilizatorii de SAS

Straturi - adaugă o temă

# Add black white theme
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Adaugă stratul „theme" cu theme_bw()
  • Elimină fundalul gri
  • Desenează un chenar negru în jurul graficului

Boxplot ggplot2 cu temă alb-negru adăugată

R pentru utilizatorii de SAS

Schimbă geom boxplot cu geom violin

# Change to geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin înlocuiește geom_boxplot
  • Creează o formă asemănătoare unei viori
  • Reflectă distribuția densității datelor
  • O schimbare simplă pentru o figură nouă

Grafic violin ggplot2

R pentru utilizatorii de SAS

Histogramă pentru o singură variabilă

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Creează o histogramă pentru o singură variabilă
  • O variabilă = o singură estetică
  • Adaugă geom_histogram()
  • Setează aes() la shuckedWeight
  • Culorile implicite trebuie schimbate

Histogramă ggplot2 complet neagră

R pentru utilizatorii de SAS

Adaugă culori la histogramă

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Schimbă parametrii grafici
  • Setează color pentru liniile barelor
  • Setează culoarea fill a barelor
  • Fiecare opțiune se setează în interiorul ()
  • Histograma arată mult mai bine

Histogramă ggplot2 cu bare albastre și contur negru

R pentru utilizatorii de SAS

Adaugă titlu și etichete de axe la histogramă

# 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")
  • Adaugă etichete mai bune pentru axe și titlu
  • Folosește xlab() și ylab() pentru axe
  • Folosește ggtitle() pentru titlu
  • Figura e gata de publicat!

Histogramă ggplot2 cu etichete de axe și titlu adăugate

R pentru utilizatorii de SAS

Creează un scatterplot

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • Un scatterplot aes are nevoie de două variabile
  • geom_point() adaugă punctele
  • Scatterplot cu greutatea cochiliei în funcție de inele

Scatterplot ggplot2 cu greutatea cochiliei în funcție de inele

R pentru utilizatorii de SAS

Adaugă linie de trend la scatterplot

# Add smoothed fit line
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • Adaugă linia geom_smooth() la scatterplot
  • Include o zonă de încredere umbrită

Scatterplot ggplot2 cu linie de trend adăugată

R pentru utilizatorii de SAS

Creează panouri după altă variabilă

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Adaugă încă un strat la scatterplot
  • Creează panouri pentru fiecare sex de abalone
  • Adaugă stratul facet_wrap()
  • vars(sex) definește variabila pentru panouri

Scatterplot ggplot2 cu 3 panouri pe sex

R pentru utilizatorii de SAS

Restul cursului

  • Capitolul 1 se încheie cu o scurtă introducere în grafice
    • bazele abilităților grafice ggplot2
    • vizualizezi măsurătorile abalone după sex
  • Capitolul 2 predă abilități de prelucrare a datelor
    • cureți setul de date abalone
  • Capitolul 3 predă metode de explorare a datelor
    • statistici descriptive, corelații și teste de comparație
  • Capitolul 4 predă modelarea și prezentarea rezultatelor
    • prezici vârsta abalonelor din măsurători
    • explorezi modele pe sex
R pentru utilizatorii de SAS

Hai să exersăm!

R pentru utilizatorii de SAS

Preparing Video For Download...