library(tidyverse)
avaliacoes <- read_csv("../data/3-avaliacao-humana/avaliacoes-20180610.csv")
reclamacoes <- read_csv("../data/1-reclamacoes-selecionadas/reclamacoes-avaliadas.csv")
reclamacoes <- reclamacoes %>% mutate(reclamacao.length = str_length(reclamacao))
reclamacoes$numero.de.capslock <- str_count(reclamacoes$reclamacao, "\\b[A-Z]{2,}\\b")
reclamacoes$numero.pontuacao <- str_count(reclamacoes$reclamacao, "\\!") + str_count(reclamacoes$reclamacao, "\\?")
1.1 Tamanho das reclamações
reclamacoes %>%
filter(complete.cases(.)) %>%
ggplot(aes(fill = orgao, x = reclamacao.length), na.rm = TRUE) +
geom_histogram(binwidth = 50, na.rm = TRUE) +
facet_grid(orgao ~ .) + labs(title = "Distribuição do tamanho das reclamações separadas por orgão" , x = "Tamanho das Reclamações", y = "Quantidade de Reclamações")
1.2 Quantidade de carácteres em caixa alta
reclamacoes %>%
ggplot(aes(x = numero.de.capslock), na.rm = TRUE) +
geom_histogram() + labs(title="Distribuição de reclamações de acordo com o número de caracteres em caixa alta", x = "Número de caracteres em caixa alta", y = "Número de Reclamações")
1.3 Quantidade de carácteres em caixa alta por orgão
reclamacoes %>%
ggplot(aes(fill = orgao, x = numero.de.capslock), na.rm = TRUE) +
geom_histogram() + facet_grid(orgao ~ .) + labs(title = "Distribuição de reclamações de acordo com o número de caracteres \n em caixa alta separadas por órgão" , x = "Tamanho das Reclamações", y = "Quantidade de Reclamações")
1.4 Uso de pontuação (! e ?)
reclamacoes %>%
ggplot(aes(x = numero.pontuacao), na.rm = TRUE) +
geom_histogram() + labs(title = "Distribuição de reclamações de acordo com o número de caracteres \n de pontuação (! e ?)" , x = "Quantidade de pontos (exclamação e interrogação)", y = "Quantidade de Reclamações")
avaliacoes <- avaliacoes %>%
select(avaliador = `Matricula`,
id = `ID da reclamação`,
insatisfacao = `Grau de insatisfação`)
avaliacoes %>%
filter((id %in% 1:5 ))
## # A tibble: 27 x 3
## avaliador id insatisfacao
## <int> <int> <int>
## 1 113110007 2 4
## 2 113111448 2 4
## 3 113210425 5 3
## 4 114110439 3 2
## 5 114110485 3 2
## 6 114111357 2 5
## 7 114111370 1 5
## 8 114111371 5 5
## 9 114210164 2 5
## 10 114210300 3 2
## # ... with 17 more rows
2.1 - Quantidade de avaliadores de uma mesma reclamação
avaliacoes %>%
group_by(id) %>%
count() %>%
ungroup() %>%
summarise(media = mean(n),
mediana = median(n))
## # A tibble: 1 x 2
## media mediana
## <dbl> <dbl>
## 1 5.32 5
avaliacoes %>%
group_by(id) %>%
count() %>%
ggplot(aes("Reclamacoes", n)) +
geom_jitter(width = .05, alpha = .7)
2.2 - Avaliaçoes de um mesmo individuo
avaliacoes %>%
group_by(avaliador) %>%
summarise(variancia = var(insatisfacao)) %>%
ggplot(aes(x=avaliador, y=variancia, colour = avaliador)) + geom_point() +
geom_jitter(height = 0.05, alpha = .4)
2.3 - Range das avaliaçoes
avaliacoes %>% group_by(id) %>%
summarise(range = max(insatisfacao) - min(insatisfacao),
mediana = median(insatisfacao)) %>%
ggplot(aes(x=id, y=range, colour = id)) + geom_point() +
geom_jitter(height = 0.05, alpha = .4)
3 - Correlação das variáveis
library(GGally)
rec <- reclamacoes %>% select(reclamacao.length, numero.de.capslock, mediana, numero.pontuacao)
corr = rec[, 0:4] %>% cor() %>% round(2)
corr %>% ggcorr(label_size = 3, label = TRUE, label_color = "black", hjust = 0.925, size = 3.5, angle = -45)