Vragen beantwoorden met chains
Als je een specifieke vraag hebt over een gegevensset, kun je via een zorgvuldig opgebouwde chain van R-code je weg naar een antwoord vinden. Neem bijvoorbeeld de volgende vraag: "Binnen niet-spam e-mails, is de typische lengte van e-mails korter voor berichten die naar meerdere personen zijn gestuurd?"
Dit kun je beantwoorden met de volgende chain:
email %>%
filter(spam == "not-spam") %>%
group_by(to_multiple) %>%
summarize(median(num_char))
De code maakt duidelijk dat je num_char gebruikt om de lengte van een e-mail te meten en median() als maat voor wat typisch is. Als je deze code uitvoert, zie je dat het antwoord op de vraag "ja" is: de typische lengte van niet-spam die naar meerdere personen is gestuurd, is iets lager dan die naar slechts één persoon.
Deze chain eindigt met samenvattende statistieken, maar andere kunnen eindigen in een grafiek; het hangt allemaal af van de vraag die je wilt beantwoorden.
Deze oefening maakt deel uit van de cursus
Exploratory Data Analysis in R
Oefeninstructies
Bouw een chain om elk van de volgende vragen te beantwoorden, allebei over de variabele dollar.
- Voor e-mails die het woord "dollar" bevatten: bevat de typische spam-e-mail meer voorkomens van het woord dan de typische niet-spam e-mail? Maak een samenvattende statistiek die deze vraag beantwoordt.
- Als je een e-mail tegenkomt met meer dan 10 voorkomens van het woord
dollar, is die dan waarschijnlijker spam of not-spam? Maak een staafdiagram dat deze vraag beantwoordt.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Question 1
email %>%
filter(___) %>%
group_by(___) %>%
summarize(___)
# Question 2
email %>%
filter(___) %>%
ggplot(aes(x = ___)) +
geom_bar()