Introduktion til ggplot2

Pakken ggplot2 er i dag en del af tidyverse. For at indlæse ggplot2 kan du indlæse tidyverse. I tidyverse findes 7 vigtige pakker, som er nødvendige til analyse og præsentation af data. Disse pakker er ggplot2, dplyr, forcats, tibble, tidyr, stringr og purrr. Pakkerne dplyr og ggplot2 bruges jævnligt sammen. Start med at installere og aktivere tidyverse:

install.packages("tidyverse")
library(tidyverse)

I både dplyr og ggplot2 kædes operationerne sammen sekventielt. I dplyr kædes operationer sammen med pipe-operatoren, som betegnes med |> (tidligere brugtes %>%). Pipe bruges til trinvis at instruere R i, hvad der skal gøres. Nedenfor følger et eksempel, hvor |> bruges til at filtrere en data frame (mina_data), så den kun indeholder kvinder, hvorefter der oprettes en variabel (Income_Dollar), og til sidst sorteres observationerne efter variablen Age. Koden nedenfor er kun til illustration (data findes ikke, og koden kan ikke køres).

mina_data |>
  filter(Sex=="Women") |>
  mutate(Income_Dollar = Income_Kronor*10) |>
  arrange(Age)

I ggplot2 kædes operationer også sammen sekventielt, men det gøres med +. Nedenfor bruges mina_data til at lave en graf, hvor Income_Dollar og Age visualiseres på x-aksen og y-aksen ved hjælp af punkter. Til sidst får grafen titlen "Min graf".

ggplot2(data=mina_data, aes(x=Income_Dollar, y=Age)) +
  geom_point() +
  labs(titel="Min graf")

Husk, at pipe (|>) sender resultatet af en operation videre til den næste operation. Det betyder, at du kan kombinere dplyr med ggplot. Det er nyttigt, når man vil lave grafer i samme session, som databehandlingen foregår i. Her følger et kodeeksempel, hvor behandlingen af data kobles sammen med visualiseringen:

mina_data |>
  filter(Sex=="Women") |>
  mutate(Income_Dollar = Income_Kronor*10) |>
  arrange(Age) |>
  ggplot2(aes(x=Inkomst, y=Age)) +
  geom_point() +
  geom_line() +
  labs(titel="Min graf")

Bemærk, at vi (ovenfor) ikke definerede data=mina_data i ggplot()-funktionen. Det er ikke nødvendigt, fordi pipe (|>) sender resultatet af alle foregående operationer videre som første argument til ggplot(), og første argument er data=.

Dette bliver tydeligere i de kommende kapitler, hvor vi laver grafer trin for trin.