Grafické vizualizace v R pomocí ggplot2

R pro uživatele SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Balíček ggplot2

logo hexsticker ggplot2

  • ggplot2 je výkonný grafický balíček pro R
  • „GG" v ggplot znamená „grammar of graphics"
  • ggplot2 vytváří grafiku pomocí vrstev
  • Na základní vrstvu grafiky se přidávají jeden nebo více geometrických objektů
R pro uživatele SAS

Vrstvy – základní vrstva

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Definuj základní vrstvu pomocí ggplot()
  • Nastav data = abalone
  • Nastav aes na sex a diameter

  • V grafu ještě nejsou žádné grafické objekty

  • Osa x je připravena pro sex
  • Osa y je připravena pro diameter
  • Mřížka je vykreslena

grafické prostředí ggplot2 bez boxplotu

R pro uživatele SAS

Vrstvy – přidání boxplot geomu

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • Operátor plus + přidává vrstvu
  • Byl přidán boxplot geom_boxplot()

  • Výsledkem je série boxplotů

  • Průměr ulity abalone podle pohlaví
  • F samice, I mláďata a M samci

ggplot2 s přidanými boxploty

R pro uživatele SAS

Vrstvy – přidání tématu

# Add black white theme
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Přidej vrstvu „theme" pomocí theme_bw()
  • Odstraní šedé pozadí
  • Kolem grafu vykreslí černý rámeček

boxplot ggplot2 s přidaným černobílým tématem

R pro uživatele SAS

Změna geomu boxplot na violin

# Change to geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin nahrazuje geom_boxplot
  • Vytváří tvar podobný houslím
  • Odráží rozdělení hustoty dat
  • Jednoduchá úprava pro nový graf

houslový graf ggplot2

R pro uživatele SAS

Histogram jedné proměnné

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Vytvoř histogram pro jednu proměnnou
  • Jedna proměnná = jedna estetika
  • Přidej geom_histogram()
  • Nastav aes() na shuckedWeight
  • Výchozí barvy je třeba změnit

histogram ggplot2 celý černý

R pro uživatele SAS

Histogram – přidání barev

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Změň grafické parametry
  • Nastav color čar sloupců
  • Nastav barvu výplně fill pro sloupce
  • Každá volba se nastavuje uvnitř ()
  • Histogram vypadá mnohem lépe

histogram ggplot2 s modrými sloupci a černými okraji

R pro uživatele SAS

Histogram – přidání titulku a popisků os

# 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")
  • Přidej lepší popisky os a titulek
  • Pro osy použij xlab() a ylab()
  • Pro titulek použij ggtitle()
  • Tento graf je připraven k publikaci!

histogram ggplot2 s přidanými popisky os a titulkem

R pro uživatele SAS

Vytvoření bodového grafu

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • Bodový graf aes potřebuje dvě proměnné
  • geom_point() přidá body
  • Bodový graf hmotnosti ulity podle počtu kroužků

bodový graf ggplot2 hmotnosti ulity podle kroužků

R pro uživatele SAS

Bodový graf – přidání vyrovnávací křivky

# Add smoothed fit line
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • Do bodového grafu přidej křivku geom_smooth()
  • Zahrnuje stínovanou oblast spolehlivosti

bodový graf ggplot2 s přidanou vyrovnávací křivkou

R pro uživatele SAS

Vytvoření panelů podle jiné proměnné

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Přidej do bodového grafu další vrstvu
  • Vytvoř panely pro každé pohlaví abalone
  • Přidej vrstvu facet_wrap()
  • vars(sex) definuje proměnnou pro panely

bodový graf ggplot2 se 3 panely podle pohlaví

R pro uživatele SAS

Zbytek kurzu

  • Kapitola 1 končí krátkým úvodem do grafiky
    • základy grafických dovedností v ggplot2
    • vizualizace naměřených hodnot abalone podle pohlaví
  • Kapitola 2 tě naučí dovednosti pro úpravu dat
    • vyčištění datové sady abalone
  • Kapitola 3 tě naučí metody průzkumu dat
    • popisná statistika, korelace a testy porovnání
  • Kapitola 4 tě naučí modelování a prezentaci výsledků
    • předpověď stáří abalone podle naměřených hodnot
    • zkoumání modelů podle pohlaví
R pro uživatele SAS

Pojďme vytvořit grafy pro abalone

R pro uživatele SAS

Preparing Video For Download...