Box plot
Un modo semplice per confrontare più distribuzioni è il box plot. Questo codice ti aiuterà a costruire più box plot per una visualizzazione compatta.
In questo esercizio l'oggetto all_book_polarity è già caricato. Il data frame contiene due colonne, book e polarity. Comprende tutti i libri con la funzione polarity() di qdap applicata. Ecco le prime 3 righe del grande oggetto.
| book | polarity | |
|---|---|---|
| 14 | huck | 0.2773501 |
| 22 | huck | 0.2581989 |
| 26 | huck | -0.5773503 |
Questo esercizio introduce tapply(), che ti permette di applicare funzioni su un array irregolare. Fornisci un vettore di valori e poi un vettore di fattori. Per ogni combinazione fattore-valore, viene applicato il terzo parametro, una funzione come min(). Ad esempio, ecco del codice con tapply() usato su due vettori.
f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)
Il risultato è un array in cui Group1 ha valore 2 (1+1) e Group2 ha valore 4 (2+2).
Questo esercizio fa parte del corso
Sentiment Analysis in R
Istruzioni dell'esercizio
- Poiché è già caricato, esamina
all_book_polarityconstr(). - Usando
tapply(), passaall_book_polarity$polarity,all_book_polarity$booke la funzionesummary(). Questo stamperà le statistiche descrittive dei 4 libri in termini dei loro punteggi dipolarity(). Ti aspetteresti che Oz e Huck Finn abbiano medie più alte di Agamennone o Moby Dick. Presta particolare attenzione alla mediana. - Crea un box plot con
ggplot()passandoall_book_polarity.- Le estetiche devono essere
aes(x = book, y = polarity). - Usando un
+aggiungigeom_boxplot()concol = "darkred". Presta attenzione alla linea scura in ogni box che rappresenta la mediana. - Poi aggiungi un altro layer chiamato
geom_jitter()per aggiungere punti per ciascuna delle parole.
- Le estetiche devono essere
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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")