Lådagram
Ett enkelt sätt att jämföra flera fördelningar är med ett lådagram. Den här koden hjälper dig att skapa flera lådagram för en kompakt visualisering.
I den här övningen är objektet all_book_polarity redan inläst. Dataramen innehåller två kolumner, book och polarity. Den omfattar alla böcker med qdap:s funktion polarity() applicerad. Här är de tre första raderna i det stora objektet.
| book | polarity | |
|---|---|---|
| 14 | huck | 0.2773501 |
| 22 | huck | 0.2581989 |
| 26 | huck | -0.5773503 |
Den här övningen introducerar tapply(), som låter dig applicera funktioner över en ojämn array. Du matar in en vektor med värden och sedan en vektor med faktorer. För varje kombination av faktor och värde appliceras den tredje parametern – en funktion som min(). Här är ett exempel med tapply() på två vektorer.
f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)
Resultatet är en array där Group1 har värdet 2 (1+1) och Group2 har värdet 4 (2+2).
Den här övningen är en del av kursen
Sentimentanalys i R
Övningsinstruktioner
- Eftersom det redan är inläst, undersök
all_book_polaritymedstr(). - Använd
tapply()och skicka inall_book_polarity$polarity,all_book_polarity$bookoch funktionensummary(). Det skriver ut sammanfattande statistik för de 4 böckerna utifrån deraspolarity()-poäng. Du bör förvänta dig att Oz och Huck Finn har högre genomsnitt än Agamemnon eller Moby Dick. Lägg särskilt märke till medianen. - Skapa ett lådagram med
ggplot()och skicka inall_book_polarity.- Estetiken ska vara
aes(x = book, y = polarity). - Lägg till
geom_boxplot()med+och sättcol = "darkred". Lägg särskilt märke till den mörka linjen i varje lådagram som representerar medianen. - Lägg sedan till ytterligare ett lager med
geom_jitter()för att visa punkter för vart och ett av orden.
- Estetiken ska vara
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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")