Parte II - Introdução ao tidyverse

Oficina de Introdução ao R

2023-10-28

Tidyverse

O que é?

  • Um conjunto de pacotes que compartilham a mesma gramática e estrutura.

  • Quando você instala/carrega o tidyverse, todos esses pacotes vêm junto de uma vez.

  • Serve pra fazer o trabalho de análise mais rápido e fácil

Pacotes dentro do Tidyverse

São vários os pacotes (https://www.tidyverse.org/packages/)

Conseguem imaginar a utilidade dos pacotes abaixo?

  • readr: abrir arquivos (bases de dados) e salvar tabelas

  • dplyr: manipular a base (filtrar, criar colunas, agrupar, resumir, ordenar etc.)

  • stringr: arrumar textos (string) identifcando padrões (regex)

  • lubridate: ajusta datas e horas (ex: AAAA-MM-DD)

  • ggplot2: visualização de dados

  • tidyr: para organizar/arrumar os dados

‘Verbos mágicos’ do dplyr

Saber poucos comandos já basta pra começar a analisar!

FUNÇÃO O QUE FAZ
select seleciona só algumas colunas da base
filter seleciona só algumas linhas da base
mutate cria colunas ou altera valores de uma coluna
group_by agrupa linhas de valores iguais em uma coluna
summarise par do group_by, cria o resumo desses grupos
arrange ordena a forma de visualizar a tabela

Mais ‘verbos úteis’

FUNÇÃO O QUE FAZ
read_csv abre o seu arquivo separado por vírgula
read_csv2 arquivo separado por ponto e vírgula
write_csv salva a tabela num arquivo no computador
rename renomeia uma coluna
replace_* troca um valor p/ outro quando ele aparece
pivot_* transforma linhas em colunas e vice-versa
bind_rows* junta as linhas de duas tabelas diferentes
str_sub* puxa só parte do valor de uma coluna

O operador pipe: %>% ou |>

  • pipe = cano, encanamento, fazer a informação fluir

  • o valor do lado esquerdo do pipe vira argumento para a função do lado direito e assim por diante

  • Atalho: CTRL + SHIFT + M

Exercícios

Vamos aprender a conjugar na prática com dados da nova Assembleia Legislativa de São Paulo!

Observem a tabela abaixo. Cada grupo terá uma pergunta para responder!

tabela alesp.csv

Perguntas:

  1. Quais mulheres foram eleitas em 2022?

  2. Qual foi a média de votos em 2022 por raça?

  3. Qual é o ranking de votos totais por partido em 2022?

  4. Qual pessoa reeleita ganhou mais votos de 2018 para 2022?

Código 1:

1- Quais mulheres foram eleitas em 2022?


(Dica: é com “select” ou com “filter”?)

library(tidyverse)

alesp <- read.csv2("data/alesp.csv",
                   fileEncoding = "Windows-1252")

sexo_feminino <- alesp %>% 
  filter(genero == "FEMININO")

Resposta 1:

1- Quais mulheres foram eleitas em 2022?

ranking nome_urna_candidato sigla_partido votos_2022 votos_2018 genero grau_instrucao cor_raca ocupacao
3 PAULA DA BANCADA FEMINISTA PSOL 259771 NA FEMININO SUPERIOR COMPLETO PRETA ADVOGADO
10 ANA CAROLINA SERRA CID 198698 NA FEMININO SUPERIOR COMPLETO BRANCA ADVOGADO
13 BRUNA FURLAN PSDB 195436 NA FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO
18 CARLA MORANDO PSDB 177773 89636 FEMININO SUPERIOR COMPLETO BRANCA EMPRESÁRIO
20 EDIANE MARIA PSOL 175617 NA FEMININO LÊ E ESCREVE PRETA EMPREGADO DOMÉSTICO
21 MARTA COSTA PSD 170541 117156 FEMININO SUPERIOR COMPLETO BRANCA SERVIDOR PÚBLICO ESTADUAL
23 PROFESSORA BEBEL PT 155983 87169 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO
30 VALERIA BOLSONARO PL 131557 54519 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO
39 MARCIA LIA PT 108587 63751 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO
41 MONICA DO MOVIMENTO PRETAS PSOL 106781 149844 FEMININO SUPERIOR COMPLETO PRETA JORNALISTA E REDATOR
50 THAINARA FARIA PT 91388 NA FEMININO SUPERIOR COMPLETO PRETA VEREADOR
53 LECI BRANDÃO PCdoB 90496 64487 FEMININO ENSINO MÉDIO COMPLETO PRETA CANTOR E COMPOSITOR
55 ANALICE FERNANDES PSDB 90135 110089 FEMININO SUPERIOR COMPLETO BRANCA ENFERMEIRO
56 ANDRÉA WERNER PSB 88820 NA FEMININO SUPERIOR COMPLETO BRANCA JORNALISTA E REDATOR
60 MARINA HELOU REDE 85517 39839 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO
63 EDNA MACEDO REP 82932 84144 FEMININO ENSINO MÉDIO COMPLETO BRANCA DEPUTADO
67 SOLANGE FREITAS UNIÃO 81870 NA FEMININO SUPERIOR COMPLETO BRANCA JORNALISTA E REDATOR
69 DANI ALONSO PL 80337 NA FEMININO SUPERIOR COMPLETO BRANCA EMPRESÁRIO
70 ANA PERUGINI PT 79061 NA FEMININO SUPERIOR COMPLETO BRANCA SERVENTUÁRIO DE JUSTIÇA
79 DELEGADA GRACIELA PL 68955 63089 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO
80 LETÍCIA AGUIAR PP 68556 60909 FEMININO SUPERIOR INCOMPLETO BRANCA OUTROS
81 MARIA LUCIA AMARY PSDB 66956 70743 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO
82 FABIANA B. PL 65497 NA FEMININO SUPERIOR COMPLETO PARDA EMPRESÁRIO
83 BETH SAHÃO PT 65407 54900 FEMININO SUPERIOR COMPLETO BRANCA OUTROS
87 CLARICE GANEM PODE 59342 NA FEMININO SUPERIOR COMPLETO BRANCA ADMINISTRADOR

Código 2:

2- Qual foi a média de votos em 2022 por raça?

media_raca <- alesp %>% 
  group_by(cor_raca) %>% 
  summarise(media_votos = mean(votos_2022))

Resposta 2:

2- Qual foi a média de votos em 2022 por raça?

cor_raca media_votos
BRANCA 125135.7
PARDA 105330.0
PRETA 129313.1

Código 3:

3- Qual é o ranking de votos totais por partido em 2022?

votos_partidos <- alesp %>% 
  group_by(sigla_partido) %>% 
  summarise(total_votos = sum(votos_2022)) %>% 
  arrange(desc(total_votos))

Resposta 3:

3- Qual é o ranking de votos totais por partido em 2022?

sigla_partido total_votos
PL 2659415
PT 2572961
PSDB 1063131
REP 929898
UNIÃO 891227
PSOL 864074
PSD 488167
MDB 424436
PP 353342
PODE 320828
CID 275608
PSB 244817
PSC 123592
NOVO 90688
PCdoB 90496
REDE 85517
PDT 85195
SD 58707

Código 4:

4- Qual deputado reeleito ganhou mais votos de 2018 para 2022?

deputados <- alesp %>% 
  filter(!is.na(votos_2018)) %>% 
  mutate(variacao_votos = votos_2022 - votos_2018,
         pct_variacao_votos = ( variacao_votos * 100 ) / votos_2018) %>% 
  arrange(desc(pct_variacao_votos))

Resposta 4:

4- Qual deputado reeleito ganhou mais votos de 2018 para 2022?

ranking nome_urna_candidato sigla_partido votos_2022 votos_2018 genero grau_instrucao cor_raca ocupacao variacao_votos pct_variacao_votos
8 TENENTE COIMBRA PL 209705 24109 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 185596 769.8203990
48 AGENTE FEDERAL DANILO BALAS PL 94552 38661 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 55891 144.5668762
30 VALERIA BOLSONARO PL 131557 54519 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO 77038 141.3048662
22 EMÍDIO DE SOUZA PT 157834 65898 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 91936 139.5125800
16 MARCOS DAMASIO PL 183219 81695 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 101524 124.2719873
61 MARCIO NAKASHIMA PDT 85195 38081 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 47114 123.7204905
15 ITAMAR BORGES MDB 183480 82185 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 101295 123.2524183
60 MARINA HELOU REDE 85517 39839 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO 45678 114.6564924
18 CARLA MORANDO PSDB 177773 89636 FEMININO SUPERIOR COMPLETO BRANCA EMPRESÁRIO 88137 98.3276808
34 VINICIUS CAMARINHA PSDB 123316 65441 MASCULINO SUPERIOR COMPLETO BRANCA ADVOGADO 57875 88.4384407
11 MILTON LEITE FILHO UNIÃO 198429 105492 MASCULINO ENSINO MÉDIO COMPLETO PARDA DEPUTADO 92937 88.0986236
23 PROFESSORA BEBEL PT 155983 87169 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO 68814 78.9432023
7 ANDRÉ DO PRADO PL 216268 123313 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 92955 75.3813467
5 MAJOR MECCA PL 224462 131531 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 92931 70.6533061
39 MARCIA LIA PT 108587 63751 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO 44836 70.3298772
33 THIAGO AURICCHIO PL 123483 73435 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 50048 68.1527882
27 LUIZ FERNANDO PT 141017 85271 MASCULINO SUPERIOR INCOMPLETO BRANCA EMPRESÁRIO 55746 65.3750982
14 CAPITÃO CONTE LOPES PL 192454 116806 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 75648 64.7637964
26 ENIO TATTO PT 142785 86744 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 56041 64.6050447
36 RAFAEL SILVA PSD 118182 71992 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 46190 64.1599067
28 ROGÉRIO NOGUEIRA PSDB 139756 89040 MASCULINO ENSINO MÉDIO COMPLETO BRANCA EMPRESÁRIO 50716 56.9586703
17 CARLOS CEZAR PL 180690 115566 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 65124 56.3522143
21 MARTA COSTA PSD 170541 117156 FEMININO SUPERIOR COMPLETO BRANCA SERVIDOR PÚBLICO ESTADUAL 53385 45.5674485
42 CARLÃO PIGNATARI PSDB 105245 74006 MASCULINO ENSINO MÉDIO COMPLETO BRANCA EMPRESÁRIO 31239 42.2114423
53 LECI BRANDÃO PCdoB 90496 64487 FEMININO ENSINO MÉDIO COMPLETO PRETA CANTOR E COMPOSITOR 26009 40.3321600
44 SEBASTIÃO SANTOS REP 104374 75280 MASCULINO SUPERIOR COMPLETO PARDA DEPUTADO 29094 38.6477152
37 PAULO FIORILO PT 110251 80430 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 29821 37.0769613
85 PAULO CORRÊA JR PSD 62239 46438 MASCULINO SUPERIOR COMPLETO BRANCA JORNALISTA E REDATOR 15801 34.0260132
66 DR. JORGE DO CARMO PT 82054 61751 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 20303 32.8788198
2 CARLOS GIANNAZI PSOL 276811 218705 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 58106 26.5682083
9 DELEGADO OLIM PP 201348 161569 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 39779 24.6204408
71 MAURO BRAGATO PSDB 78142 65475 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 12667 19.3463154
83 BETH SAHÃO PT 65407 54900 FEMININO SUPERIOR COMPLETO BRANCA OUTROS 10507 19.1384335
40 BARBA PT 108071 91394 MASCULINO SUPERIOR INCOMPLETO PRETA DEPUTADO 16677 18.2473685
52 RICARDO MADALENA PL 90630 77554 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO 13076 16.8605101
47 GILMACI SANTOS REP 96361 82678 MASCULINO SUPERIOR INCOMPLETO PARDA DEPUTADO 13683 16.5497472
45 ALTAIR MORAES REP 98515 86230 MASCULINO SUPERIOR COMPLETO PARDA DEPUTADO 12285 14.2467819
80 LETÍCIA AGUIAR PP 68556 60909 FEMININO SUPERIOR INCOMPLETO BRANCA OUTROS 7647 12.5547949
79 DELEGADA GRACIELA PL 68955 63089 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO 5866 9.2979759
65 LEO OLIVEIRA MDB 82145 76703 MASCULINO SUPERIOR INCOMPLETO BRANCA EMPRESÁRIO 5442 7.0948985
19 JORGE WILSON XERIFE CONSUMIDOR REP 177614 177414 MASCULINO SUPERIOR COMPLETO BRANCA JORNALISTA E REDATOR 200 0.1127307
75 RODRIGO MORAES PL 75094 75845 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO -751 -0.9901773
58 BARROS MUNHOZ PSDB 86372 87494 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO -1122 -1.2823736
63 EDNA MACEDO REP 82932 84144 FEMININO ENSINO MÉDIO COMPLETO BRANCA DEPUTADO -1212 -1.4403879
64 CARUSO MDB 82209 83758 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO -1549 -1.8493756
73 RAFA ZIMBALDI CID 76910 80789 MASCULINO SUPERIOR INCOMPLETO BRANCA EMPRESÁRIO -3879 -4.8013962
32 EDMIR CHEDID UNIÃO 129097 135991 MASCULINO SUPERIOR COMPLETO BRANCA DEPUTADO -6894 -5.0694531
81 MARIA LUCIA AMARY PSDB 66956 70743 FEMININO SUPERIOR COMPLETO BRANCA DEPUTADO -3787 -5.3531798
12 GIL DINIZ PL 196215 214037 MASCULINO SUPERIOR INCOMPLETO BRANCA DEPUTADO -17822 -8.3265977
68 DANIEL SOARES UNIÃO 81753 97330 MASCULINO SUPERIOR COMPLETO BRANCA ADVOGADO -15577 -16.0043152
55 ANALICE FERNANDES PSDB 90135 110089 FEMININO SUPERIOR COMPLETO BRANCA ENFERMEIRO -19954 -18.1253350
41 MONICA DO MOVIMENTO PRETAS PSOL 106781 149844 FEMININO SUPERIOR COMPLETO PRETA JORNALISTA E REDATOR -43063 -28.7385548
43 CAIO FRANÇA PSB 105173 162166 MASCULINO SUPERIOR COMPLETO BRANCA ADVOGADO -56993 -35.1448516
77 ALEX DE MADUREIRA PL 74340 118294 MASCULINO SUPERIOR INCOMPLETO PARDA DEPUTADO -43954 -37.1565760

Hora de praticar!

Vamos abrir o arquivo tidyverse-pratica.R para analisar dados sobre a eleição de policiais e militares no Legislativo.

O objetivo vai ser atualizar essa reportagem do G1 com os dados das eleições de 2022!