EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Como ya está cargado, examina all_book_polarity con str().
  • Usando tapply(), pasa all_book_polarity$polarity, all_book_polarity$book y la función summary(). Esto imprimirá las estadísticas resumidas de los 4 libros en términos de sus puntuaciones de polarity(). 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() pasando all_book_polarity.
    • La estética debe ser aes(x = book, y = polarity).
    • Usando un + añade geom_boxplot() con col = "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.

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")
Editar y ejecutar código