Como etapa inicial das análises utilizando a base de dados UN Votes, é realizada uma análise exploratória que possui três objetivos distintos:
A primeira base de dados, UN Votes tem suas características analisadas pela função glimpse, que aponta para a predominância de variáveis de texto. Além disso, ao se analisar o complete_rate das variáveis da tabela, percebe-se que a variável country_code não está preenchida em 7898 linhas.
# exploratory data analysis (EDA) para a tabela un_votes
glimpse(un_votes)
## Rows: 869,937
## Columns: 4
## $ rcid <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ~
## $ country <chr> "United States", "Canada", "Cuba", "Haiti", "Dominican Re~
## $ country_code <chr> "US", "CA", "CU", "HT", "DO", "MX", "GT", "HN", "SV", "NI~
## $ vote <chr> "yes", "no", "yes", "yes", "yes", "yes", "yes", "yes", "y~
sample_votes <- un_votes %>%
sample_n(size = 5)
skim(un_votes)
| Name | un_votes |
| Number of rows | 869937 |
| Number of columns | 4 |
| _______________________ | |
| Column type frequency: | |
| character | 3 |
| numeric | 1 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| country | 0 | 1.00 | 4 | 32 | 0 | 200 | 0 |
| country_code | 7898 | 0.99 | 2 | 2 | 0 | 196 | 0 |
| vote | 0 | 1.00 | 2 | 7 | 0 | 3 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| rcid | 0 | 1 | 3571.83 | 1859.06 | 3 | 2112 | 3597 | 5008 | 9147 | ▅▇▇▃▁ |
# removendo coluna country_code
un_votes <- un_votes %>%
select(-country_code)
Já uma análise da tabela Roll Calls nos mostra a escolha feita quanto à inserção de variáveis discretas, mas que o R reconhece como números reais. Dentre estas se encontram as variáveis importantvote, que indica se o Departamento de Estados dos Estados Unidos considerou aquela votação importante, e amend, que indica se a votação foi a respeito de alguma emenda da ONU. O número de 573 inserções vazias da variável short, que diz respeito a uma descrição curta da votação, não é relevante, já que a variável descr, que trata da descrição extensa, está totalmente preenchida.
# exploratory data analysis (EDA) para a tabela roll_calls
glimpse(roll_calls)
## Rows: 6,202
## Columns: 9
## $ rcid <dbl> 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,~
## $ session <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,~
## $ importantvote <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,~
## $ date <date> 1946-01-01, 1946-01-02, 1946-01-04, 1946-01-04, 1946-01~
## $ unres <chr> "R/1/66", "R/1/79", "R/1/98", "R/1/107", "R/1/295", "R/1~
## $ amend <dbl> 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1,~
## $ para <dbl> 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,~
## $ short <chr> "AMENDMENTS, RULES OF PROCEDURE", "SECURITY COUNCIL ELEC~
## $ descr <chr> "TO ADOPT A CUBAN AMENDMENT TO THE UK PROPOSAL REFERRING~
sample_calls <- roll_calls %>%
sample_n(size = 5)
skim(roll_calls)
| Name | roll_calls |
| Number of rows | 6202 |
| Number of columns | 9 |
| _______________________ | |
| Column type frequency: | |
| character | 3 |
| Date | 1 |
| numeric | 5 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| unres | 159 | 0.97 | 4 | 14 | 0 | 5702 | 0 |
| short | 573 | 0.91 | 3 | 350 | 0 | 2018 | 0 |
| descr | 1 | 1.00 | 1 | 1494 | 0 | 4524 | 0 |
Variable type: Date
| skim_variable | n_missing | complete_rate | min | max | median | n_unique |
|---|---|---|---|---|---|---|
| date | 0 | 1 | 1946-01-01 | 2019-12-27 | 1986-12-05 | 863 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| rcid | 0 | 1.00 | 3193.06 | 1978.16 | 3 | 1553.25 | 3104.5 | 4668.75 | 9147 | ▇▇▇▃▁ |
| session | 0 | 1.00 | 41.66 | 19.38 | 1 | 28.00 | 41.0 | 58.00 | 74 | ▃▅▇▆▆ |
| importantvote | 604 | 0.90 | 0.07 | 0.26 | 0 | 0.00 | 0.0 | 0.00 | 1 | ▇▁▁▁▁ |
| amend | 3334 | 0.46 | 0.11 | 0.31 | 0 | 0.00 | 0.0 | 0.00 | 1 | ▇▁▁▁▁ |
| para | 2994 | 0.52 | 0.31 | 0.46 | 0 | 0.00 | 0.0 | 1.00 | 1 | ▇▁▁▁▃ |
Por fim, a tabela Issues irá apresentar, no formato variáveis de texto, a temática geral de cada tópico possível de votação, que são divididos em:
# exploratory data analysis (EDA) para a tabela issue
glimpse(issues)
## Rows: 5,745
## Columns: 3
## $ rcid <dbl> 77, 9001, 9002, 9003, 9004, 9005, 9006, 128, 129, 130, 131,~
## $ short_name <chr> "me", "me", "me", "me", "me", "me", "me", "me", "me", "me",~
## $ issue <chr> "Palestinian conflict", "Palestinian conflict", "Palestinia~
sample_issues <- issues %>%
sample_n(size = 5)
skim(issues)
| Name | issues |
| Number of rows | 5745 |
| Number of columns | 3 |
| _______________________ | |
| Column type frequency: | |
| character | 2 |
| numeric | 1 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| short_name | 0 | 1 | 2 | 2 | 0 | 6 | 0 |
| issue | 0 | 1 | 11 | 36 | 0 | 6 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| rcid | 0 | 1 | 3493.74 | 1807.93 | 6 | 2102 | 3543 | 4803 | 9145 | ▅▇▇▂▁ |
Na sequência, uma última tarefa necessita de ser concretizada para que as análises propriamente ditas possam acontecer: a junção de bases de dados. A junção é necessária pois as informações contidas são complementares, com uma ampla interpretação tornando-se possível somente após o acesso direto aos votos de cada país, o tema do voto e as características da votação na Assembléia Geral.
Para que essa tarefa seja viável, é necessário um identificador que faça com que as informações sejam unidas da maneira correta. Para tal, a variável rcid presente em cada uma das tabelas será o identificador utilizado para que cada linha da tabela final receba as informações referentes à sessão e ao tema em questão. Abaixo, o botão Code possibilita acessar o código para a concatenação das bases de dados.
# agrupando tabelas para conseguir realizar uma análise mais ampla
all_tables <- left_join(un_votes, roll_calls, by = "rcid") %>%
left_join(., issues,by = "rcid")
1. Quais os temas de votação classificados como importante pelo Departamento de Estados dos EUA?
# análise 1: qual tema foi mais associado pelos EUA como voto importante?
most_important <- all_tables %>%
filter(importantvote == 1) %>%
group_by(issue) %>%
count(importantvote, sort = TRUE) %>%
drop_na(issue) %>%
ungroup()
ggplot(most_important, aes(fct_reorder(issue, n), n, fill = issue)) +
geom_col() +
coord_flip() +
geom_text(aes(label = n), hjust = 1) +
theme(legend.position = "none",
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.text.y = element_text(size = 10, color = "black")) +
labs(title = "Votos em temas considerados importantes pelo\nDepartamento de Estados dos EUA")
O gráfico acima aponta que questões ligadas a direitos humanos foram as consideradas principais em relação à importância do voto por parte do Departamento de Estado, com 28844 aparições. Na sequência aparecem, respectivamente, conflito palestino, desenvolvimento econômico, controle de armas e desarmamento, armas e material nucleares e colonialismo. É importante para realmente saber a prioriedade dos Estados Unidos, entretanto, considerar que é necessária uma análise relativa para a quantidade com que cada um dos temas foi pautado para votação ao longo dos anos.
# contando vezes que cada tema foi pautado na Assembleia Geral da ONU
pauta_absoluta <- all_tables %>%
filter(session > 39) %>%
drop_na(issue) %>%
group_by(issue) %>%
count(sort = TRUE) %>%
ungroup() %>%
rename(absoluto = n)
pauta_absoluta
## # A tibble: 6 x 2
## issue absoluto
## <chr> <int>
## 1 Arms control and disarmament 129866
## 2 Palestinian conflict 116822
## 3 Human rights 116011
## 4 Nuclear weapons and nuclear material 98466
## 5 Colonialism 72836
## 6 Economic development 59898
# ajustando tabela com votos importantes dos EUA para comparação
most_important <- most_important %>%
transmute(issue, important_EUA = n)
# juntando ambas as tabelas para fim de comparação
EUA_importante_relativo <- pauta_absoluta %>%
left_join(most_important, by = "issue")
EUA_importante_relativo <- EUA_importante_relativo %>%
mutate(pct_importancia = signif(important_EUA/absoluto)) %>%
mutate(pct_importancia = signif(pct_importancia, digits = 3))
ggplot(EUA_importante_relativo, aes(fct_reorder(issue, pct_importancia), pct_importancia, fill = issue)) +
geom_col() +
theme(axis.text.x = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.ticks.x = element_blank()) +
labs(title = "Proporção de votações consideradas importantes\npelos Estados Unidos")
Visando aprofundar a exploração, primeiramente busca-se definir, em termos absolutos, quais os temas que são os mais pautados nas assembleias da ONU. A tabela nos mostra que os três tópicos mais pautados são o controle de armas e desarmamento, o conflito na Palestina e a questão dos direitos humanos. É importante ressaltar que foram utilizados dados somente a partir da sessão 39 da Assembleia Geral, que foi a partir de quando o Departamento de Estado passou a dar a classificação de voto importante para algumas votações.
Na sequência, a procura é por novamente relacionar o quanto os Estados Unidos consideram importante a votação para cada tema, mas agora como uma proporção do total de sessões que houve votação. Nesse caso, direitos humanos continuam na posição de maior importância, mas mudanças de tendência são observadas, como a menor relevância sendo conferida para o tópico de controle de armas e desarmamento.
2. Quais os assuntos mais abordados ao longo dos anos?
# análise 2: quais os assuntos mais abordados ao longo dos anos?
trending_issues <- all_tables %>%
mutate(year = year(date))
trending_issues <- trending_issues %>%
group_by(year, issue) %>%
summarise(issue_mentioned = n()) %>%
drop_na(issue)
## `summarise()` has grouped output by 'year'. You can override using the `.groups` argument.
ggplot(trending_issues, aes(year, issue_mentioned, group = issue, color = issue)) +
geom_line() +
facet_wrap(vars(issue)) +
theme(legend.position = "none",
axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0.5)) +
labs(title = "Relevância de cada tema nas sessões ao longo dos anos")
Os gráficos do número de votações por cada tema nas assembleias ao longo dos anos mostra uma tendência ascendente ao longo do tempo para todos, com exceção do conflito na Palestina e do colonialismo. Também se faz necessário observar a predominância do tópico de controle de armas e desarmamento no âmbito da ONU, mantendo uma posição de liderança até os dias atuais. Outro aspecto passível de observação é o aumento da importância de temas ligados aos direitos humanos, principalmente a partir da década de 1990.
3. A postura do Brasil em relação a cada tema
# análise 3: postura do brasil em relação a cada tema
dados_brasil <- all_tables %>%
filter(country == "Brazil") %>%
group_by(issue) %>%
mutate(total_de_votos = n()) %>%
ungroup() %>%
drop_na(issue)
ggplot(dados_brasil, aes(issue, total_de_votos, fill = vote)) +
geom_bar(position = "fill", stat = "identity") +
theme(axis.text.x = element_text(angle = 90, color = "black"),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0.5)) +
labs(fill = "Voto", title = "Postura do Brasil em relação a cada tema")
O gráfico de barras acima apresenta, de maneira proporcional, a maneira como o Brasil vota nas assembleias da ONU com relação a cada tema. Os dois temas nos quais o país apresenta maior apoio são os do conflito na Palestina e questões ligadas ao desenvolvimento econômico. A postura brasileira de conciliação quanto à sua política externa pode ser vista quando vê-se que abstenções superam votos contrários em todos os temas.