6 Como manipular os dados no R

Transformações de bancos de dados podem ser realizadas com funções presentes no pacote dplyr. Execute o código abaixo no seu R a fim de que possamos utilizá-lo nos exemplos desse tutorial.

install.packages("dplyr")

Este tutorial não tem como objetivo ensinar a linguagem de programação R, mas fornecer um esqueleto para algumas análises simples, que podem ser feitas em alguns minutos.

6.1 Filtrar

Ao realizar uma requisição no CepespData, a função escolhida irá retornar todas as observações condizentes com os parâmetros informados. Contudo, nem sempre queremos todas as observações, mas apenas um conjunto específico.

Por exemplo, talvez nós desejemos todos os candidatos negros que concorreram a Deputado Federal em 2018, com a função filter.

library(cepespR)
library(dplyr)

el2018 <- get_elections(2018, 6, regional_aggregation = 0)

Uma vez que você tenha feito a requisição do banco e salvado a tabela em um objeto (el2018), podemos aplicar a função. É importante notar que, ao comparar valores no R, utilizamos dois sinais de igual ==.

cand_negros_2018 <- el2018 %>% 
  filter(CODIGO_COR_RACA == '02' | CODIGO_COR_RACA == '03') # Selecionando candidatos pretos e pardos (códigos 2 e 3, respectivamente).

# Vejamos como ficou o banco de dados:
View(cand_negros_2018)

Repare no uso do %>% (leia-se pipe). O pipe nos permite concatenar a execução de diversas funções, de tal maneira que seja mais fácil realizar operações “simultâneas” em um banco de dados. Por exemplo, podemos filtrar os candidatos negros eleitos, e em seguida, tabelar o banco de dados para ver qual a frequência de homens e mulheres dentro deste grupo:

tabela_sexo_negros_eleitos <- el2018 %>% 
  filter(CODIGO_COR_RACA == '02' | CODIGO_COR_RACA == '03') %>%
  filter(DESC_SIT_TOT_TURNO == 'ELEITO POR QP' | DESC_SIT_TOT_TURNO == 'ELEITO POR MEDIA')
  
table(tabela_sexo_negros_eleitos$DESCRICAO_SEXO)

6.2 Selecionar e Ordenar

Também é possível selecionar algumas variáveis por meio da função select e ordená-las com a função arrange. Digamos, por exemplo, que você queira saber quais foram os deputados federais mais votados no estado de São Paulo. Em primeiro lugar, podemos fazer uma requisição no get_votes, utilizando o estado como agregação regional.

library(cepespR)
library(dplyr)

cand_2014 <- get_elections(2014, 6, regional_aggregation = "Estado")

cand_2014_sp <- cand_2014 %>% 
  filter(UF == "SP")

Uma vez com o nossa tabela filtrada, basta apenas ordenar os resultados. A fim de facilitar a leitura, podemos selecionar apenas as colunas relevantes. No caso, iremos utilizar a sigla do partido, o nome do candidato e a quantidade de votos.

cand_2014_sp %>% 
  select(SIGLA_PARTIDO, NOME_CANDIDATO, QTDE_VOTOS) %>% 
  arrange(desc(QTDE_VOTOS))