Diagramă box plot
O modalitate simplă de a compara mai multe distribuții este cu ajutorul unei diagrame box plot. Codul din acest exercițiu te va ajuta să construiești mai multe astfel de diagrame pentru o vizualizare compactă.
Objectul all_book_polarity este deja încărcat. Cadrul de date conține două coloane, book și polarity, și include toate cărțile cu funcția polarity() din qdap aplicată. Iată primele 3 rânduri ale obiectului.
| book | polarity | |
|---|---|---|
| 14 | huck | 0.2773501 |
| 22 | huck | 0.2581989 |
| 26 | huck | -0.5773503 |
Acest exercițiu introduce tapply(), care îți permite să aplici funcții pe un array neregulat. Introduci un vector de valori și un vector de factori. Pentru fiecare combinație factor-valoare, al treilea parametru – o funcție precum min() – este aplicat. Iată un exemplu de cod cu tapply() folosit pe doi vectori.
f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)
Rezultatul este un array în care Group1 are valoarea 2 (1+1), iar Group2 are valoarea 4 (2+2).
Acest exercițiu face parte din cursul
Analiza sentimentelor în R
Instrucțiuni pentru exercițiu
- Deoarece este deja încărcat, examinează obiectul
all_book_polaritycustr(). - Folosind
tapply(), transmiteall_book_polarity$polarity,all_book_polarity$bookși funcțiasummary(). Aceasta va afișa statisticile rezumative pentru cele 4 cărți în funcție de scorurilepolarity(). Te-ai putea aștepta ca Oz și Huck Finn să aibă medii mai mari decât Agamemnon sau Moby Dick. Acordă atenție sporită medianei. - Creează o diagramă box plot cu
ggplot(), transmițândall_book_polarity.- Estetica trebuie să fie
aes(x = book, y = polarity). - Folosind
+, adaugăgeom_boxplot()cucol = "darkred". Acordă atenție sporită liniei închise la culoare din fiecare casetă, care reprezintă mediana. - Adaugă apoi un nou strat numit
geom_jitter()pentru a adăuga puncte corespunzătoare fiecărui cuvânt.
- Estetica trebuie să fie
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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")