Wizualizacje graficzne w R z pakietem ggplot2

R dla użytkowników SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Pakiet ggplot2

logo ggplot2 w formie hexsticker

  • ggplot2 to zaawansowany pakiet graficzny dla R
  • „GG" w ggplot oznacza „grammar of graphics" (gramatyka grafiki)
  • ggplot2 buduje wykresy warstwowo
  • Do bazowej warstwy dodaje się jeden lub więcej obiektów geometrycznych
R dla użytkowników SAS

Warstwy — warstwa bazowa

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Zdefiniuj warstwę bazową za pomocą ggplot()
  • Ustaw data = abalone
  • Ustaw aes na sex i diameter

  • Na wykresie nie ma jeszcze obiektów graficznych

  • Oś x jest gotowa na sex
  • Oś y jest gotowa na diameter
  • siatka jest już rozrysowana

środowisko graficzne ggplot2 bez wykresu pudełkowego

R dla użytkowników SAS

Warstwy — dodanie geometrii boxplot

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • Operator plus + dodaje warstwę
  • Dodano wykres pudełkowy geom_boxplot()

  • Wynik to seria wykresów pudełkowych

  • Średnice uchowców według płci
  • F samice, I młode, M samce

dodane wykresy pudełkowe ggplot2

R dla użytkowników SAS

Warstwy — dodanie motywu

# Add black white theme
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Dodaj warstwę „theme" za pomocą theme_bw()
  • Usuwa szare tło
  • Rysuje czarną ramkę wokół wykresu

wykres pudełkowy ggplot2 z dodanym motywem czarno-białym

R dla użytkowników SAS

Zmiana geometrii boxplot na violin

# Change to geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin zastępuje geom_boxplot
  • Tworzy kształt przypominający skrzypce
  • Odzwierciedla rozkład gęstości danych
  • Nowy wykres dzięki prostej zmianie

wykres skrzypcowy ggplot2

R dla użytkowników SAS

Histogram jednej zmiennej

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Utwórz histogram dla jednej zmiennej
  • Jedna zmienna to jeden atrybut estetyczny
  • Dodaj geom_histogram()
  • Ustaw aes() na shuckedWeight
  • Domyślne kolory wymagają zmiany

histogram ggplot2 w całości czarny

R dla użytkowników SAS

Histogram — dodanie kolorów

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Zmień parametry graficzne
  • Ustaw color dla linii słupków
  • Ustaw fill dla kolorów słupków
  • Każdą opcję ustawiasz w nawiasach ()
  • Histogram wygląda dużo lepiej

histogram ggplot2 z niebieskimi słupkami i czarnymi liniami

R dla użytkowników SAS

Histogram — dodanie tytułu i etykiet osi

# 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")
  • Dodaj lepsze etykiety osi i tytuł
  • Użyj xlab() i ylab() dla osi
  • Użyj ggtitle() dla tytułu
  • Ten wykres jest gotowy do publikacji!

histogram ggplot2 z dodanymi etykietami osi i tytułem

R dla użytkowników SAS

Twórz wykres punktowy

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • Wykres punktowy aes wymaga dwóch zmiennych
  • geom_point() dodaje punkty
  • Wykres punktowy masy skorupy według liczby pierścieni

wykres punktowy ggplot2 masy skorupy według liczby pierścieni

R dla użytkowników SAS

Wykres punktowy — dodanie linii wygładzonej

# Add smoothed fit line
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • Dodaj linię geom_smooth() do wykresu punktowego
  • Zawiera zacieniowany obszar ufności

wykres punktowy ggplot2 z dodaną linią wygładzoną

R dla użytkowników SAS

Twórz panele według innej zmiennej

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Dodaj jeszcze jedną warstwę do wykresu punktowego
  • Utwórz panele dla każdej płci uchowca
  • Dodaj warstwę facet_wrap()
  • vars(sex) definiuje zmienną dla paneli

wykres punktowy ggplot2 z 3 panelami według płci

R dla użytkowników SAS

Dalsza część kursu

  • Rozdział 1 zakończy się krótkim wprowadzeniem do grafiki
    • podstawy pracy z pakietem ggplot2
    • wizualizacja pomiarów uchowców według płci
  • Rozdział 2 uczy porządkowania danych
    • czyszczenie zbioru danych o uchowcach
  • Rozdział 3 uczy metod eksploracji danych
    • statystyka opisowa, korelacje i testy porównawcze
  • Rozdział 4 uczy modelowania i prezentacji wyników
    • przewidywanie wieku uchowców na podstawie pomiarów
    • analiza modeli według płci
R dla użytkowników SAS

Zróbmy kilka wykresów dla uchowców

R dla użytkowników SAS

Preparing Video For Download...