Grafisk visualisering i R med ggplot2

R för SAS-användare

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Paketet ggplot2

ggplot2 hexsticker logo

  • ggplot2 är ett kraftfullt grafikpaket för R
  • "GG" i ggplot står för "grammar of graphics"
  • ggplot2 bygger grafik med ett lagerbaserat synsätt
  • Ett eller flera geometriska objekt läggs till baslagret
R för SAS-användare

Lager – baslagret

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Definiera baslagret med ggplot()
  • Sätt data = abalone
  • Sätt aes till sex och diameter

  • Inga grafiska objekt i grafen ännu

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

ggplot2 graphic environment no boxplot yet

R för SAS-användare

Lager – lägg till låddiagram-geom

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • Plusoperatorn + lägger till ett lager
  • Låddiagram med geom_boxplot() läggs till

  • Resultatet är en serie låddiagram

  • Abalonernas diameter efter kön
  • F honor, I ungar och M hanar

ggplot2 boxplots added

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 ett "tema"-lager med theme_bw()
  • Tar bort grå bakgrund
  • Ritar en svart ram runt grafen

ggplot2 boxplot black white theme added

R för SAS-användare

Byt låddiagram-geom mot violin-geom

# 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 violin
  • Visar datats täthetfördelning
  • En enkel ändring ger en ny figur

ggplot2 violin plot

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()
  • Sätt aes() till shuckedWeight
  • Standardfärgerna behöver ändras

ggplot2 histogram all black

R för SAS-användare

Histogram – lägg till färger

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

ggplot2 histogram with blue bars and black lines around bars

R för SAS-användare

Histogram – lägg till titel och axeletiketter

# 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 tydligare axeletiketter och titel
  • Använd xlab() och ylab() för axlarna
  • Använd ggtitle() för titeln
  • Figuren är klar att publicera!

ggplot2 hitogram axis labels and title added

R för SAS-användare

Skapa ett spridningsdiagram

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • Ett spridningsdiagrams aes kräver två variabler
  • geom_point() lägger till punkterna
  • Spridningsdiagram över skalvikt per ring

ggplot2 scatterplot of shellweight by rings

R för SAS-användare

Spridningsdiagram – lägg till utjämnad anpassningslinje

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

ggplot2 scatterplot with smoothed fit line added

R för SAS-användare

Skapa paneler efter 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) anger variabel för panelerna

ggplot2 scatterplot with 3 panels by sex

R för SAS-användare

Resten av kursen

  • Kapitel 1 avslutas med en kort introduktion till grafik
    • Grundläggande grafikkunskaper med ggplot2
    • visualisera abalone-mått efter kön
  • Kapitel 2 lär ut databearbetning
    • städa abalone-datasetet
  • 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 abalonernas ålder utifrån mått
    • utforska modeller efter kön
R för SAS-användare

Nu kör vi en övning!

R för SAS-användare

Preparing Video For Download...