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:
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.
ggplot(df, aes(x = age, y = income)) +
geom_point()2. Lijndiagram (geom_line())
Vaak gebruikt voor tijdreeksen of trendlijnen.
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.
# 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
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().
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
Wijzig de vorige plot door de eigenschap color toe te wijzen aan de geslachtskolom binnen aes() om de punten op geslacht te kleuren.
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
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.
Toon hint
VS ggplot(df, aes(x = jaar, y = omzet)) + geom_line()
Oplossing beschikbaar na 3 pogingen
Oefening 4: Staafdiagram met geom_col
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().
Toon hint
Usa ggplot(df, aes(x = categorie, y = waarde)) + geom_col()
Oplossing beschikbaar na 3 pogingen
Oefening 5: Combineer meerdere geometrieën
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.
Toon hint
Voeg geom_point() toe aan geom_smooth() en selecteer '+'.
Oplossing beschikbaar na 3 pogingen