Boxplot
Een eenvoudige manier om meerdere verdelingen te vergelijken is met een boxplot. Met deze code maak je meerdere boxplots voor een compacte visual.
In deze oefening is het object all_book_polarity al geladen. Het gegevensframe bevat twee kolommen, book en polarity. Het omvat alle boeken waarop de functie polarity() van qdap is toegepast. Hier zie je de eerste 3 rijen van het grote object.
| book | polarity | |
|---|---|---|
| 14 | huck | 0.2773501 |
| 22 | huck | 0.2581989 |
| 26 | huck | -0.5773503 |
Deze oefening introduceert tapply(), waarmee je functies kunt toepassen op een onregelmatige array. Je geeft een vector met waarden en vervolgens een vector met factoren. Voor elke combinatie van factor en waarde wordt de derde parameter, een functie zoals min(), toegepast. Hier is bijvoorbeeld wat code waarin tapply() wordt gebruikt op twee vectoren.
f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)
Het resultaat is een array waarin Group1 de waarde 2 heeft (1+1) en Group2 de waarde 4 (2+2).
Deze oefening maakt deel uit van de cursus
Sentimentanalyse in R
Oefeninstructies
- Onderzoek, omdat het al geladen is,
all_book_polaritymetstr(). - Gebruik
tapply()en geefall_book_polarity$polarity,all_book_polarity$booken de functiesummary()door. Dit print de samenvattende statistieken voor de 4 boeken op basis van hunpolarity()-scores. Je mag verwachten dat Oz en Huck Finn hogere gemiddelden hebben dan Agamemnon of Moby Dick. Let extra op de mediaan. - Maak een boxplot met
ggplot()doorall_book_polaritydoor te geven.- De aesthetics zijn
aes(x = book, y = polarity). - Voeg met een
+degeom_boxplot()toe metcol = "darkred". Let goed op de donkere lijn in elke box: dat is de mediaan. - Voeg daarna nog een laag toe met
geom_jitter()om punten voor elk van de woorden toe te voegen.
- De aesthetics zijn
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Examine
___
# Summary by document
___
# Box plot
ggplot(___, aes(x = ___, y = ___)) +
___(fill = c("#bada55", "#F00B42", "#F001ED", "#BA6E15"), col = "___") +
___(position = position_jitter(width = 0.1, height = 0), alpha = 0.02) +
theme_gdocs() +
ggtitle("Book Polarity")