Wizualizacje graficzne w R z użyciem ggplot2

R dla użytkowników SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Pakiet ggplot2

Logo ggplot2

  • ggplot2 to zaawansowany pakiet graficzny dla R
  • „GG" w ggplot oznacza „gramatykę grafiki" (ang. grammar of graphics)
  • ggplot2 buduje wykresy warstwowo
  • Do warstwy bazowej dodawane są obiekty geometryczne
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

  • Brak obiektów graficznych na wykresie

  • Oś x gotowa dla sex
  • Oś y gotowa dla diameter
  • Siatka jest przygotowana

Środowisko graficzne ggplot2 bez wykresu

R dla użytkowników SAS

Warstwy – dodawanie geom boxplot

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

  • Wynik to seria wykresów pudełkowych

  • Średnice abalonów według płci
  • F samice, I osobniki młodociane, M samce

Wykresy pudełkowe ggplot2

R dla użytkowników SAS

Warstwy – dodawanie motywu

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

Wykres pudełkowy ggplot2 z motywem czarno-białym

R dla użytkowników SAS

Zmiana geom boxplot na geom 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
  • Prosta zmiana dająca nowy wykres

Wykres skrzypcowy ggplot2

R dla użytkowników SAS

Histogram dla jednej zmiennej

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Histogram dla jednej zmiennej
  • Jedna zmienna = jedna estetyka
  • 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

Dodawanie kolorów do histogramu

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Zmień parametry graficzne
  • Ustaw color linii słupków
  • Ustaw kolor fill słupków
  • Każda opcja ustawiana wewnątrz ()
  • Histogram wygląda znacznie lepiej

Histogram ggplot2 z niebieskimi słupkami i czarnymi obramowaniami

R dla użytkowników SAS

Dodawanie tytułu i etykiet osi do histogramu

# 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 etykiety osi i tytuł
  • xlab() i ylab() dla osi
  • ggtitle() dla tytułu
  • Wykres gotowy do publikacji!

Histogram ggplot2 z etykietami osi i tytułem

R dla użytkowników SAS

Tworzenie wykresu punktowego

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • aes wykresu punktowego wymaga dwóch zmiennych
  • geom_point() dodaje punkty
  • Wykres punktowy wagi muszli względem pierścieni

Wykres punktowy ggplot2: waga muszli względem pierścieni

R dla użytkowników SAS

Dodawanie wygładzonej linii dopasowania

# 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 dopasowaną linią wygładzoną

R dla użytkowników SAS

Tworzenie paneli według zmiennej

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Dodaj kolejną warstwę do wykresu punktowego
  • Utwórz panele dla każdej płci abalonów
  • Dodaj warstwę facet_wrap()
  • vars(sex) określa zmienną dla paneli

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

R dla użytkowników SAS

Dalsza część kursu

  • Rozdział 1 kończy się wprowadzeniem do grafiki
    • Podstawy ggplot2
    • Wizualizacja pomiarów abalonów według płci
  • Rozdział 2 uczy przetwarzania danych
    • Czyszczenie zbioru danych abalonów
  • Rozdział 3 uczy eksploracji danych
    • Statystyki opisowe, korelacje i testy porównawcze
  • Rozdział 4 uczy modelowania i prezentacji wyników
    • Przewidywanie wieku abalonów na podstawie pomiarów
    • Analiza modeli według płci
R dla użytkowników SAS

Stwórzmy wykresy dla abalonów

R dla użytkowników SAS

Preparing Video For Download...