Direct naar de hoofdinhoud
Module 5 · Les 1 van 29/10 in de cursus~12 min
Modulelessen (1/2)

Grammatica en basisgeometrieën

Datavisualisatie in R wordt gedomineerd door ggplot2, een pakket gebaseerd op de "Grammar of Graphics". Deze theorie splitst grafieken op in onafhankelijke semantische componenten, zoals gegevens, esthetische afbeeldingen en geometrische elementen.


De structuur van ggplot2

Elke plot gemaakt met ggplot2 begint met een aanroep van de functie ggplot(), waar we een dataframe leveren en definiëren hoe kolommen worden toegewezen aan visuele eigenschappen met behulp van de functie aes() (esthetiek).

Vervolgens voegen we geometrische lagen toe met behulp van de operator + (let op: we gebruiken + en niet %>% in ggplot2).

Het basissjabloon is:

R
ggplot(data = <DATA_FRAME>, mapping = aes(<AESTHETICS>)) +
  <GEOMETRY>()

Esthetische afbeeldingen (aes) en geometrieën (geom_*)

De functie aes() definieert welke variabelen in uw gegevens de visuele kenmerken van de plot bepalen:

  • x: Positie op de horizontale as.
  • y: Positie op de verticale as.
  • color: Kleur van punten of lijnen.
  • fill: vulkleur van gesloten vormen (bijv. balken).
  • size: Grootte van elementen.

Geometrieën (geom_) definiëren het type visuele representatie:

1. Spreidingsdiagram (geom_point())

Ideaal voor het weergeven van de relatie tussen twee numerieke variabelen.

R
ggplot(df, aes(x = age, y = income)) +
  geom_point()

2. Lijndiagram (geom_line())

Vaak gebruikt voor tijdreeksen of trendlijnen.

R
ggplot(df, aes(x = year, y = sales)) +
  geom_line()

3. Staafdiagram (geom_bar() en geom_col())

Standaard telt geom_bar() de frequentie van categorieën, terwijl geom_col() de werkelijke waarden vertegenwoordigt die rechtstreeks in een y-kolom zijn opgeslagen.

R
# Plots the value of the 'sales' column for each 'category'
ggplot(df, aes(x = category, y = sales)) +
  geom_col()

Probeer het zelf

Oefening 1: Maak een basisspreidingsdiagram

Oefening#r.m5.l1.e1
Pogingen: 0Laden…

Maak een spreidingsdiagram met behulp van het df-dataframe. Wijs de hoogtekolom toe aan de x-as en de gewichtskolom aan de y-as. Gebruik geom_point().

Editor laden…
Toon hint

Gebruik ggplot(df, aes(x = lengte, y = gewicht)) + geom_point()

Oplossing beschikbaar na 3 pogingen

Oefening 2: Kleur toevoegen op basis van gegevens

Oefening#r.m5.l1.e2
Pogingen: 0Laden…

Wijzig de vorige plot door de eigenschap color toe te wijzen aan de geslachtskolom binnen aes() om de punten op geslacht te kleuren.

Editor laden…
Toon hint

Inclusief kleur = geslacht all'interno di aes(), bijvoorbeeld: aes(x = lengte, y = gewicht, kleur = geslacht).

Oplossing beschikbaar na 3 pogingen

Oefening 3: Lijnplot

Oefening#r.m5.l1.e3
Pogingen: 0Laden…

Maak een lijnplot met df. Wijs de jaarkolom toe aan de x-as en de verkoopkolom aan de y-as. Voeg de geometrische laag geom_line() toe.

Editor laden…
Toon hint

VS ggplot(df, aes(x = jaar, y = omzet)) + geom_line()

Oplossing beschikbaar na 3 pogingen

Oefening 4: Staafdiagram met geom_col

Oefening#r.m5.l1.e4
Pogingen: 0Laden…

Maak een staafdiagram om waarden direct weer te geven. Wijs de categoriekolom toe aan de x-as en de waardekolom aan de y-as. Gebruik de geometrie geom_col().

Editor laden…
Toon hint

Usa ggplot(df, aes(x = categorie, y = waarde)) + geom_col()

Oplossing beschikbaar na 3 pogingen

Oefening 5: Combineer meerdere geometrieën

Oefening#r.m5.l1.e5
Pogingen: 0Laden…

In ggplot2 kun je meerdere geometrische lagen stapelen. Maak een plot die zowel geom_point() als geom_smooth() combineert, waarbij x_val wordt toegewezen aan de x-as en y_val aan de y-as.

Editor laden…
Toon hint

Voeg geom_point() toe aan geom_smooth() en selecteer '+'.

Oplossing beschikbaar na 3 pogingen