Introductie

R is een programmeertaal die is bedoeld voor dataverwerking en datavisualizatie. Dat gaan we nu gebruiken om onderzoek te doen naar data van de Titanic. We kijken onder andere naar de sterfgevallen en de demografische gegevens om conclusies te kunnen trekken over wat er die bewuste dag gebeurd is.

Dit doen we met behulp van een library: ggplot. Deze helpt ons met de visualizatie van onze data. Verder gebruiken we de library titanic. Deze bevat alle data die we nodig hebben.

We starten met het inladen van alle benodigde gegevens.

options(digits = 3) # Hiermee ronden we af op 3 significante cijfers
library(tidyverse) # Deze library bevat onder andere ggplot
library(titanic) # Deze library bevat data over de titanic

Daarna gaan we aan de slag met het klaarmaken van de data.

titanic <- titanic_train %>%
    select(Survived, Pclass, Sex, Age, SibSp, Parch, Fare) %>%
    mutate(Survived = factor(Survived),
           Pclass = factor(Pclass),
           Sex = factor(Sex))

Nu zijn we klaar om de data te verwerken. Voor we aan de slag gaan met het maken van visualizaties, is het interessant om te kijken naar de ruwe data, zodat we weten waar we mee werken.

head(titanic)

Nu weten we wat onze data bevat.

Demografische gegevens van de reizigers

Het eerste waar we inzicht in willen verkrijgen, is de demografie van de reizigers aan boord. We beginnen daarom met een simpele dichtheidsfunctie.

titanic %>%
    ggplot(aes(Age)) +
    geom_density()

Hieraan zien we hoe de leeftijdsopbouw van de passagiers was. Hier kunnen we gedetailleerde gegevens uit proberen te krijgen. Zo kunnen we bijvoorbeeld kijken hoe het verschil tussen de mannen en vrouwen was in leeftijdsopbouw.

titanic %>%
    ggplot(aes(Age, fill = Sex)) +
    geom_density(alpha = 0.2) +
    facet_grid(Sex ~ .)

Hieruit blijkt dat de leeftijdsopbouw van mannen en vrouwen nagenoeg gelijk is. Als we in plaats van naar de geslachten kijken naar de klasses waarin de passagiers reizen, blijkt dat wel anders te zijn:

titanic %>%
    ggplot(aes(Age, fill = Pclass)) +
    geom_density(alpha = 0.2) +
    facet_grid(Pclass ~ .)

Het is vooral de derde klas die een hele andere opbouw heeft dan de andere klassen.

Wat we uit een dichtheidsgrafiek niet kunnen opmaken, is de hoeveelheid. We kijken namelijk naar de dichtheid en daardoor zien we niet of er nou meer mannen of vrouwen zijn. Zo zijn er waarschijnlijk ook niet evenveel mensen in de eerste klas als in de derde klas. Om daar inzicht in te krijgen, moeten we wat aanpassingen maken. De handigste manier is om alles in 1 grafiek weer te geven.

titanic %>%
    ggplot(aes(Age, y = ..count.., fill = Pclass)) +
    geom_density(alpha = 0.2)

We geven nu alles weer in 1 grafiek en we hebben de y-as vervangen door absolute aantallen. Nu zien we hoe groot het aantal mensen in de derde klas is. We kunnen nu proberen om ook weer te kijken naar de geslachten.

titanic %>%
    ggplot(aes(Age, y = ..count.., fill = Sex)) +
    geom_density(alpha = 0.2)