Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Onderzoek, omdat het al geladen is, all_book_polarity met str().
  • Gebruik tapply() en geef all_book_polarity$polarity, all_book_polarity$book en de functie summary() door. Dit print de samenvattende statistieken voor de 4 boeken op basis van hun polarity()-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() door all_book_polarity door te geven.
    • De aesthetics zijn aes(x = book, y = polarity).
    • Voeg met een + de geom_boxplot() toe met col = "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.

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")
Code bewerken en uitvoeren