Grafiska visualiseringar i R med ggplot2

R för SAS-användare

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

ggplot2-paketet

ggplot2 hexsticker-logotyp

  • ggplot2 är ett kraftfullt grafikpaket för R
  • "GG" i ggplot står för "grammar of graphics"
  • ggplot2 använder en lagerbaserad metod för att bygga grafik
  • Ett eller flera geometriska objekt läggs till på det grundläggande grafiklagret
R för SAS-användare

Lager - grundlager

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Definiera grundlagret med ggplot()
  • Ange data = abalone
  • Ange aes till sex och diameter

  • Inga grafiska objekt i diagrammet än

  • x-axeln är redo för sex
  • y-axeln är redo för diameter
  • rutnätet är upplagt

ggplot2-grafikmiljö utan boxplot ännu

R för SAS-användare

Lager - lägg till boxplot-geom

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • Plusoperatorn + lägger till ett lager
  • Boxplot geom_boxplot() tillagd

  • Resultatet är en serie boxplottar

  • Abalonediameter per kön
  • F honor, I juveniler, och M hanar

ggplot2 boxplottar tillagda

R för SAS-användare

Lager - lägg till ett tema

# Add black white theme
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Lägg till "tema"-lager med theme_bw()
  • Tar bort den grå bakgrunden
  • Ritar en svart ram runt diagrammet

ggplot2 boxplot med svartvitt tema tillagt

R för SAS-användare

Ändra geom_boxplot till geom_violin

# Change to geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin ersätter geom_boxplot
  • Skapar en form som liknar en fiol
  • Speglar datans densitetsfördelning
  • Enkel ändring för att skapa en ny figur

ggplot2 violindiagram

R för SAS-användare

Histogram för en variabel

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Skapa ett histogram för en variabel
  • En variabel = en estetik
  • Lägg till geom_histogram()
  • Ange aes() till shuckedWeight
  • Standardfärgerna behöver ändras

ggplot2-histogram helt i svart

R för SAS-användare

Lägg till färger i histogrammet

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Ändra grafiska parametrar
  • Ange color för stapellinjerna
  • Ange fill-färg för staplarna
  • Varje alternativ anges inom ()
  • Histogrammet ser mycket bättre ut

ggplot2-histogram med blå staplar och svarta linjer runt staplarna

R för SAS-användare

Lägg till titel och axeletiketter i histogrammet

# 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")
  • Lägg till bättre etiketter för axlar och titel
  • Använd xlab() och ylab() för axlarna
  • Använd ggtitle() för titeln
  • Den här figuren är redo att publiceras!

ggplot2-histogram med axeletiketter och titel tillagda

R för SAS-användare

Skapa spridningsdiagram

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • aes för ett spridningsdiagram behöver två variabler
  • geom_point() lägger till punkterna
  • Spridningsdiagram över skalvikt per antal ringar

ggplot2-spridningsdiagram över skalvikt per ringar

R för SAS-användare

Lägg till utjämnad anpassningslinje i spridningsdiagrammet

# Add smoothed fit line
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • Lägg till en geom_smooth()-linje i spridningsdiagrammet
  • Inkluderar ett skuggat konfidensintervall

ggplot2-spridningsdiagram med utjämnad anpassningslinje tillagd

R för SAS-användare

Skapa paneler utifrån en annan variabel

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Lägg till ytterligare ett lager i spridningsdiagrammet
  • Skapa paneler för varje kön hos abalone
  • Lägg till lagret facet_wrap()
  • vars(sex) definierar variabeln för panelerna

ggplot2-spridningsdiagram med 3 paneler per kön

R för SAS-användare

Resten av kursen

  • Kapitel 1 avslutas med en kort introduktion till grafik
    • Grund i grafikfärdigheter med ggplot2
    • Visualisera abalonemätningar per kön
  • Kapitel 2 lär ut färdigheter i datahantering
    • Städa upp abalone-datamängden
  • Kapitel 3 lär ut metoder för datautforskning
    • Deskriptiv statistik, korrelationer och jämförelsetest
  • Kapitel 4 lär ut modellering och presentation av resultat
    • Förutsäga abalones ålder utifrån mätningar
    • Utforska modeller per kön
R för SAS-användare

Låt oss skapa några diagram för abalone

R för SAS-användare

Preparing Video For Download...