Boxplot
Eine einfache Möglichkeit, mehrere Verteilungen zu vergleichen, ist ein Boxplot. Dieser Code hilft dir, mehrere Boxplots zu erstellen, um eine kompakte Visualisierung zu bekommen.
In dieser Übung ist das Objekt all_book_polarity bereits geladen. Der Dataframe enthält zwei Spalten, book und polarity. Er umfasst alle Bücher mit der polarity()-Funktion aus qdap angewendet. Hier sind die ersten 3 Zeilen des großen Objekts.
| book | polarity | |
|---|---|---|
| 14 | huck | 0.2773501 |
| 22 | huck | 0.2581989 |
| 26 | huck | -0.5773503 |
Diese Übung führt tapply() ein, womit du Funktionen über ein unregelmäßiges Array anwenden kannst. Du übergibst einen Vektor mit Werten und dann einen Vektor mit Faktoren. Für jede Faktor-Wert-Kombination wird der dritte Parameter, also eine Funktion wie min(), angewendet. Hier ein Beispielcode, in dem tapply() auf zwei Vektoren angewendet wird.
f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)
Das Ergebnis ist ein Array, in dem Group1 den Wert 2 (1+1) und Group2 den Wert 4 (2+2) hat.
Diese Übung ist Teil des Kurses
<Kurs>Sentimentanalyse in R</Kurs>Übungsanweisungen
- Da es bereits geladen ist, untersuche
all_book_polaritymitstr(). - Verwende
tapply()und übergiball_book_polarity$polarity,all_book_polarity$bookund die Funktionsummary(). Dadurch werden die zusammenfassenden Statistiken für die 4 Bücher in Bezug auf ihrepolarity()-Scores ausgegeben. Du würdest erwarten, dass Oz und Huck Finn höhere Durchschnitte haben als Agamemnon oder Moby Dick. Achte besonders auf den Median. - Erstelle einen Boxplot mit
ggplot(), indem duall_book_polarityübergibst.- Die Aesthetics sollten
aes(x = book, y = polarity)sein. - Füge mit einem
+geom_boxplot()mitcol = "darkred"hinzu. Achte besonders auf die dunkle Linie in jeder Box, die den Median darstellt. - Füge als Nächstes eine weitere Ebene namens
geom_jitter()hinzu, um Punkte für jedes der Wörter anzuzeigen.
- Die Aesthetics sollten
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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")