Box plot
Uma forma simples de comparar várias distribuições é com um box plot. Este código vai ajudar você a construir múltiplos box plots para criar um visual compacto.
Neste exercício, o objeto all_book_polarity já está carregado. O data frame contém duas colunas, book e polarity. Ele reúne todos os livros com a função polarity() do qdap aplicada. Aqui estão as 3 primeiras linhas do objeto maior.
| book | polarity | |
|---|---|---|
| 14 | huck | 0.2773501 |
| 22 | huck | 0.2581989 |
| 26 | huck | -0.5773503 |
Este exercício apresenta tapply(), que permite aplicar funções sobre um array irregular. Você fornece um vetor de valores e depois um vetor de fatores. Para cada combinação fator–valor, o terceiro parâmetro, uma função como min(), é aplicada. Por exemplo, aqui está um código com tapply() usado em dois vetores.
f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)
O resultado é um array em que Group1 tem valor 2 (1+1) e Group2 tem valor 4 (2+2).
Este exercicio faz parte do curso
Análise de Sentimentos em R
Instruções do exercicio
- Como já está carregado, examine
all_book_polaritycomstr(). - Usando
tapply(), passeall_book_polarity$polarity,all_book_polarity$booke a funçãosummary(). Isso vai imprimir as estatísticas descritivas dos 4 livros em termos de suas pontuações depolarity(). Você deve esperar que Oz e Huck Finn tenham médias mais altas do que Agamemnon ou Moby Dick. Preste bastante atenção à mediana. - Crie um box plot com
ggplot()passandoall_book_polarity.- A estética deve ser
aes(x = book, y = polarity). - Usando um
+, adicionegeom_boxplot()comcol = "darkred". Observe bem a linha escura em cada caixa, que representa a mediana. - Em seguida, adicione outra camada chamada
geom_jitter()para incluir pontos para cada uma das palavras.
- A estética deve ser
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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")