Diagrama de caja
Una forma sencilla de comparar varias distribuciones es con un diagrama de caja. Este código te ayudará a construir varios diagramas de caja para crear una visualización compacta.
En este ejercicio el objeto all_book_polarity ya está cargado. El data frame contiene dos columnas, book y polarity. Incluye todos los libros con la función polarity() de qdap aplicada. Aquí tienes las 3 primeras filas del objeto grande.
| book | polarity | |
|---|---|---|
| 14 | huck | 0.2773501 |
| 22 | huck | 0.2581989 |
| 26 | huck | -0.5773503 |
Este ejercicio introduce tapply(), que te permite aplicar funciones sobre un array irregular. Introduces un vector de valores y luego un vector de factores. Para cada combinación factor–valor se aplica el tercer parámetro, una función como min(). Por ejemplo, aquí tienes algo de código usando tapply() sobre dos vectores.
f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)
El resultado es un array donde Group1 tiene un valor de 2 (1+1) y Group2 tiene un valor de 4 (2+2).
Este ejercicio forma parte del curso
Análisis de sentimiento en R
Instrucciones del ejercicio
- Como ya está cargado, examina
all_book_polarityconstr(). - Usando
tapply(), pasaall_book_polarity$polarity,all_book_polarity$booky la funciónsummary(). Esto imprimirá las estadísticas resumidas de los 4 libros en términos de sus puntuaciones depolarity(). Esperarías que Oz y Huck Finn tengan medias más altas que Agamemnon o Moby Dick. Presta mucha atención a la mediana. - Crea un diagrama de caja con
ggplot()pasandoall_book_polarity.- La estética debe ser
aes(x = book, y = polarity). - Usando un
+añadegeom_boxplot()concol = "darkred". Fíjate bien en la línea oscura de cada caja que representa la mediana. - Después añade otra capa llamada
geom_jitter()para añadir puntos para cada una de las palabras.
- La estética debe ser
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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")