Voorbereiding

Voordat we beginnen met de visualizatie van Brexit-gegevens, moeten we deze eerst inladen en voorbereiden.

options(digits = 3)
library(tidyverse)
library(dslabs)
data(brexit_polls)

Relevante data

Nu kunnen we naar deze data kijken. Eerst willen we een overzicht van de data hebben. Daarvoor lezen we de head van de tabel uit.

head(brexit_polls)

De tabel bevat informatie over de polls naar aanleiding van het Brexit-referendum.

Voordat we kunnen praten over de uitslagen van de polls, moeten we eigenlijk even kijken naar het aantal mensen dat er per poll is ondervraagd. Op basis krijgen we een duidelijker beeld van de polls.

brexit_polls %>%
    ggplot(aes(x = pollster, y = samplesize)) +
    geom_bar(stat = "summary", fun.y = mean, color = "black") +
    coord_flip() +
    ylab("Aantal respondenten") +
    xlab("Onderzoeksbureau")

Vervolgens kijken we wanneer deze polls hebben plaatsgevonden.

min(brexit_polls$startdate)
## [1] "2016-01-08"
max(brexit_polls$startdate)
## [1] "2016-06-23"

De polls zijn dus begonnen in januari 2016 en de laatste uit deze dataset is van 23 juni, de dag van het officiele referendum. Let er wel op dat de data uit onze dataset van die dag niet de officiele data is.

brexit_polls %>%
    filter(startdate == "2016-06-23")

Uitslagen

De eerste logische stap die we kunnen zetten op basis hiervan, is het bekijken van de uitslagen van de polls. Voor de duidelijkheid heb ik een trendlijn door de data gezet. De rode lijn is het aantal dat uiteindelijk heeft gestemd voor het verlaten van de EU op 23 juni.

brexit_polls %>%
    ggplot(aes(x = startdate, y = leave * 100)) +
    geom_line() +
    geom_smooth(method = "lm") +
    geom_hline(yintercept = 51.9, color = "red", linetype = "dashed") +
    xlab("Startdatum") +
    ylab("Percentage leavers")

Het is te zien dat er duidelijk een stijgende lijn was in de publieke opinie over de Brexit, maar zeker niet genoeg voor een Brexit.

Omdat er zulke grote verschillen zichtbaar zijn, ben ik nieuwsgierig of dat misschien ligt aan de pollsters.

brexit_polls %>%
    ggplot(aes(x = startdate, y = leave * 100, color = pollster, label = pollster)) +
    geom_smooth(se = FALSE) +
    geom_hline(yintercept = 51.9, color = "red", linetype = "dashed") +
    xlab("Startdatum") +
    ylab("Percentage leavers")
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'