Wykres pudełkowy
Wykresy pudełkowe to wygodny sposób na porównanie wielu rozkładów naraz. Ten kod pomoże ci zbudować kilka takich wykresów w zwartej formie.
W tym ćwiczeniu obiekt all_book_polarity jest już wczytany. Ramka danych zawiera dwie kolumny: book i polarity. Obejmuje wszystkie książki, dla których zastosowano funkcję polarity() z pakietu qdap. Poniżej znajdują się pierwsze 3 wiersze tego obiektu.
| book | polarity | |
|---|---|---|
| 14 | huck | 0.2773501 |
| 22 | huck | 0.2581989 |
| 26 | huck | -0.5773503 |
To ćwiczenie wprowadza funkcję tapply(), która pozwala stosować funkcje na nieregularnych tablicach. Przekazujesz wektor wartości oraz wektor czynników (ang. factors). Dla każdej kombinacji czynnika i wartości stosowany jest trzeci parametr – funkcja, np. min(). Oto przykładowy kod z użyciem tapply() na dwóch wektorach:
f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)
Wynikiem jest tablica, w której Group1 ma wartość 2 (1+1), a Group2 – wartość 4 (2+2).
To ćwiczenie jest częścią kursu
Analiza sentymentu w R
Instrukcje do ćwiczenia
- Ponieważ obiekt jest już wczytany, zbadaj
all_book_polarityza pomocąstr(). - Używając
tapply(), przekaż kolejno:all_book_polarity$polarity,all_book_polarity$bookoraz funkcjęsummary(). Wyświetli to statystyki opisowe dla 4 książek pod względem wynikówpolarity(). Można się spodziewać, że Oz i Huck Finn osiągną wyższe średnie niż Agamemnon czy Moby Dick. Zwróć szczególną uwagę na medianę. - Utwórz wykres pudełkowy za pomocą
ggplot(), przekazującall_book_polarity.- Estetyka powinna być następująca:
aes(x = book, y = polarity). - Używając
+, dodaj warstwęgeom_boxplot()z parametremcol = "darkred". Uważnie przyjrzyj się ciemnej linii w każdym pudełku – reprezentuje ona medianę. - Następnie dodaj kolejną warstwę
geom_jitter(), aby nanieść punkty odpowiadające poszczególnym słowom.
- Estetyka powinna być następująca:
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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")