ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Deoarece este deja încărcat, examinează obiectul all_book_polarity cu str().
  • Folosind tapply(), transmite all_book_polarity$polarity, all_book_polarity$book și funcția summary(). Aceasta va afișa statisticile rezumative pentru cele 4 cărți în funcție de scorurile polarity(). 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țând all_book_polarity.
    • Estetica trebuie să fie aes(x = book, y = polarity).
    • Folosind +, adaugă geom_boxplot() cu col = "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.

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")
Editează și rulează codul