Created
April 1, 2020 18:31
-
-
Save lgelape/7022068fe55e18c7a100cfceb01a70d9 to your computer and use it in GitHub Desktop.
nucleo_avaliacao_lideres
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################################################################################################### | |
##### Codigo para limpeza dos dados e producao de graficos sobre avaliacao de chefes de Estado | |
##### Nucleo Jornalismo | |
################################################################################################### | |
# Pacotes | |
library(dplyr) | |
library(ggplot2) | |
################################################################################################### | |
# Banco principal | |
load("pesquisas_chefes_estado.RData") | |
################################################################################################### | |
### Organizar dados: Italia | |
# Calcular os valores com base 100 (incluindo nao sabe), pois os resultados nao incluem o nao sabe. | |
# Categorizar as variaveis em confia/nao confia e somar os novos resultados. | |
italia <- banco %>% | |
filter(pais == "Itália") %>% | |
group_by(data_fim) %>% | |
mutate(valor_naosabe = ifelse(tipo_resposta == "nao sabe", percentual, 0), | |
valor_naosabe = sum(valor_naosabe)) %>% | |
ungroup() %>% | |
mutate(novo_percentual = round(((100-valor_naosabe)*percentual)/100, digits = 0)) %>% | |
select(-c(percentual, valor_naosabe)) %>% | |
group_by(data_fim) %>% | |
mutate(tipo_resposta2 = ifelse(tipo_resposta %in% c("suficiente", "muita"), "confia", tipo_resposta), | |
tipo_resposta2 = ifelse(tipo_resposta %in% c("nenhuma", "pouca"), "nao confia", tipo_resposta2)) %>% | |
ungroup() %>% | |
group_by(data_fim, tipo_resposta2) %>% | |
mutate(percentual = sum(novo_percentual)) %>% | |
select(-c(novo_percentual, tipo_resposta)) %>% | |
rename(tipo_resposta = tipo_resposta2) %>% | |
distinct() | |
################################################################################################### | |
### Organizar dados: Chile | |
# Agrupar nao respondeu + nem positivo nem negativo e somar para obter o novo valor | |
chile <- banco %>% | |
filter(pais == "Chile") %>% | |
mutate(tipo_resposta2 = case_when(tipo_resposta == "aprova" ~ "aprova", | |
tipo_resposta == "desaprova" ~ "desaprova", | |
tipo_resposta == "nao_respondeu" ~ "nao respondeu / nem nem", | |
tipo_resposta == "nem_nem" ~ "nao respondeu / nem nem")) %>% | |
group_by(data_fim, tipo_resposta2) %>% | |
mutate(novo_percentual = sum(percentual)) %>% | |
ungroup() %>% | |
select(-c(percentual, tipo_resposta)) %>% | |
rename(tipo_resposta = tipo_resposta2, percentual = novo_percentual) %>% | |
distinct() | |
################################################################################################### | |
### Organizar dados: Franca | |
# Agrupar os resultados em favoravel e desfavoravel | |
franca <- banco %>% | |
filter(pais == "França") %>% | |
mutate(tipo_resposta2 = case_when(tipo_resposta == "um pouco favoravel" ~ "favoravel", | |
tipo_resposta == "muito favoravel" ~ "favoravel", | |
tipo_resposta == "um pouco desfavoravel" ~ "desfavoravel", | |
tipo_resposta == "muito desfavoravel" ~ "desfavoravel", | |
tipo_resposta == "nao respondeu" ~ "nao respondeu")) %>% | |
group_by(data_fim, tipo_resposta2) %>% | |
mutate(novo_percentual = sum(percentual)) %>% | |
ungroup() %>% | |
select(-c(percentual, tipo_resposta)) %>% | |
rename(tipo_resposta = tipo_resposta2, percentual = novo_percentual) %>% | |
distinct() | |
################################################################################################### | |
# Criar banco com as informacoes agrupadas | |
# Categorizar as respostas em positivo, negativo e outros | |
# Criar labels para produzir o grafico | |
banco_novo <- banco %>% | |
filter(pais != "Itália" & pais != "Chile" & pais != "França") %>% | |
bind_rows(italia, chile, franca) %>% | |
mutate(valencia = case_when(tipo_resposta == "aprova" ~ "Positivo", | |
tipo_resposta == "contrario" ~ "Negativo", | |
tipo_resposta == "confia" ~ "Positivo", | |
tipo_resposta == "desaprova" ~ "Negativo", | |
tipo_resposta == "desfavoravel" ~ "Negativo", | |
tipo_resposta == "favoravel" ~ "Positivo", | |
tipo_resposta == "insatisfeito" ~ "Negativo", | |
tipo_resposta == "nao aprova" ~ "Negativo", | |
tipo_resposta == "nao confia" ~ "Negativo", | |
tipo_resposta == "nao respondeu" ~ "Outros", | |
tipo_resposta == "neutro ou nao tem opiniao" ~ "Outros", | |
tipo_resposta == "nao respondeu / nem nem" ~ "Outros", | |
tipo_resposta == "nao sabe / nao respondeu" ~ "Outros", | |
tipo_resposta == "nao sabe" ~ "Outros", | |
tipo_resposta == "sem opiniao" ~ "Outros", | |
tipo_resposta == "satisfeito" ~ "Positivo"), | |
pais_label = factor(pais, levels = c("Brasil", "Chile", "EUA", "França", "Itália", "Portugal", "Grã-Bretanha"), | |
labels = c("Brasil\nAprovação da Administração", | |
"Chile\nAprovação do Presidente", | |
"EUA\nAprovação do Presidente", | |
"França\nAvaliação do Presidente", | |
"Itália\nConfiança no Primeiro-Ministro", | |
"Portugal\nAprovação do Governo", | |
"Grã-Bretanha\nSatisfação com o Primeiro-Ministro"))) | |
################################################################################################### | |
##### Gerar grafico com painel de paises | |
banco_novo %>% | |
ggplot(aes(x = data_fim, y = percentual, color = valencia)) + | |
geom_point(size = 0.5) + | |
geom_line() + | |
geom_vline(aes(xintercept = as.Date(dia_caso1)), linetype = "dotted") + | |
facet_wrap(~ pais_label) + | |
theme_light() + | |
theme(plot.title = element_text(hjust = 0.5, size = 12), | |
plot.caption = element_text(hjust = 0.5, size = 10), | |
axis.text.x = element_text(hjust = 0.5, size = 7), | |
legend.position = "bottom", | |
legend.direction = "horizontal", | |
legend.title = element_text(size = 12)) + | |
scale_x_date(limits = c(as.Date("2019-06-01"), | |
as.Date("2020-04-01")), | |
breaks = c(as.Date("2019-06-01"), | |
as.Date("2019-07-01"), | |
as.Date("2019-08-01"), | |
as.Date("2019-09-01"), | |
as.Date("2019-10-01"), | |
as.Date("2019-11-01"), | |
as.Date("2019-12-01"), | |
as.Date("2020-01-01"), | |
as.Date("2020-02-01"), | |
as.Date("2020-03-01"), | |
as.Date("2020-04-01")), | |
labels = c("06/\n2019", "", | |
"08/\n2019", "", | |
"10/\n2019", "", | |
"12/\n2019", "", | |
"02/\n2019", "", | |
"04/\n2020")) + | |
labs(title = "Avaliação de líderes e governos mundiais", | |
caption = "Fonte: produzido com dados de Quaest (Brasil), Cadem (Chile), Gallup (EUA),\nIpsos/Le Point (França), Istituto Axè (Itália), Pitagórica (Portugal) e Ipsos-Mori (Grã-Bretanha)", | |
x = "Data", y = "%") | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment