Pacotes Utilizados + Banco de dados

library (shiny)
library(tidyverse)
options(scipen = 1000)
library(haven)
library(memisc)
library(sjPlot)
library(Zelig)
library(knitr)
library(kableExtra)

O banco de dados utilizado nessa análise é o ESEB 2018, banco de dados que contém amostra representativa da população brasileira. Estudo realizado logo após as eleições, ainda em 2018. Portanto, antes do atual presidente Bolsonaro assumir o mandato. Para mais informações sobre a base e os códigos das questões: https://www.cesop.unicamp.br/por/eseb/ondas/11

As clivagens sociais são trabalhadas aqui no sentido semelhante ao que Thomas Piketty utiliza em “Capital e Ideologia” ( https://www.amazon.com.br/Capital-Ideologia-Thomas-Piketty/dp/8551006150/ref=asc_df_8551006150/?tag=googleshopp00-20&linkCode=df0&hvadid=379748610448&hvpos=&hvnetw=g&hvrand=6442587312238555743&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1001713&hvtargid=pla-923489348572&psc=1 ). Ou seja, utilizam-se variáveis como gênero, raça e escolaridade, entre outros. Afim de apresentar os determinantes de 6 tipos de votos presidenciais no primeiro turno de 2018. Analisaremos as clivagens sociais que foram mais afeitas ao voto em: - Jair Bolsonaro - Fernando Haddad - Ciro Gomes - Geraldo Alckmin - João Amoedo - Brancos e Nulos

Os outros candidatos e aqueles que declararam não lembrar em quem votaram foram descartados dos modelos de regressão logística binária e simulações Zelig.

ESEB2018 <- read_sav("04622.sav")

Recodificações

BASET <- subset(ESEB2018, select = c(D1A_FAIXAID, D2_SEXO, D3_ESCOLA, Q12P1_B, Q12P2_B, D10, REG, D12A))
BASET$MULTI_T1<- memisc::recode(as.factor(BASET$Q12P1_B), 1 <- c (9), 2 <- c(5), 
                                3 <- c(3), 4 <- c(6), 5 <-c(10),
                                6 <-c(1,2,4,7,8,12,13,14), 7 <-c(50,60),
                                NA <- c(97,98,99))
table(BASET$MULTI_T1)
## 
##    1    2    3    4    5    6    7 <NA> 
##  838  554  196   52   35   88  146  597
table(BASET$Q12P1_B) #para comparar
## 
##   1   2   3   4   5   6   7   8   9  10  12  14  50  60  97  98  99 
##  15  22 196   1 554  52  16  13 838  35  18   3 101  45  58  47 492

Primeiro recodifiquei os votos para encontrar as categorias de interesse

na codificação original:

9 voto em Jair Bolsonaro primeiro turno

3 Ciro Gomes

10 João Amoedo

5 Fernando Haddad

6 Geradlo Alckmin

Branco e Nulo é 50 e 60

Vê-se acima que recodificamos.

Uma forma de testar a base de dados é comparar as porcentagens recebidas pelos candidatos nas eleições frente ao encontrado no ESEB.

Pegamos os dados oficiais do resultado no TSE (não em votos válidos, mas em totais) https://www.tse.jus.br/eleicoes/estatisticas/estatisticas-eleitorais

e comparamos as duas amostras:

prop.table(table(ESEB2018$Q12P1_B))*100
## 
##           1           2           3           4           5           6 
##  0.59856345  0.87789306  7.82122905  0.03990423 22.10694334  2.07501995 
##           7           8           9          10          12          14 
##  0.63846768  0.51875499 33.43974461  1.39664804  0.71827614  0.11971269 
##          50          60          97          98          99 
##  4.03032721  1.79569034  2.31444533  1.87549880 19.63288109
# verificação percentual total 79,67
(46.03*79.67)/100 #BOLSONARO
## [1] 36.6721
(29.28*79.67)/100 #HADDAD
## [1] 23.32738
(12.47*79.67)/100 #CIRO GOMES
## [1] 9.934849
(4.76*79.67)/100 #ALCKMIN
## [1] 3.792292
(2.5*79.67)/100 #AMOEDO
## [1] 1.99175
(0.59856345+0.87789306+0.03990423+0.63846768+0.51875499+0.71827614+0.11971269) #outros ESEB
## [1] 3.511572
4.03032721 + 1.79569034 #branco e nulo ESEB
## [1] 5.826018
(2.31+1.87+19.63) # semresposta/abstenções
## [1] 23.81
2.65+6.14 #BRANCOS E NULOS no TSE
## [1] 8.79
((1.26+1.20+1+0.8+0.58+0.05+0.04+0.03)*91.21)/100 #outros no TSE
## [1] 4.524016
voto <- c('Bolsonaro', 'Haddad', 'Ciro', 'Alckmin', 'Amoedo', 'Outros', 'Branco_Nulo', 'SemResposta/Abstencao')
ESEB <- c(36.67, 23.32, 9.93, 3.79, 1.99, 3.51, 5.82,23.81)
TSE <- c(41.98, 26.70,11.37,4.34,2.28, 4.52, 8.79,20.33)
data <- data.frame(voto, ESEB, TSE)
data$diferenca <- ESEB - TSE

b <- data %>% 
  dplyr::select(voto, ESEB, TSE, diferenca) %>% 
  arrange(desc(diferenca))
b %>%
  kbl(caption = "Diferença ESEB e votos totais") %>%
  kable_classic(full_width = F, html_font = "Garamond")
Diferença ESEB e votos totais
voto ESEB TSE diferenca
SemResposta/Abstencao 23.81 20.33 3.48
Amoedo 1.99 2.28 -0.29
Alckmin 3.79 4.34 -0.55
Outros 3.51 4.52 -1.01
Ciro 9.93 11.37 -1.44
Branco_Nulo 5.82 8.79 -2.97
Haddad 23.32 26.70 -3.38
Bolsonaro 36.67 41.98 -5.31

A base do ESEB consta com dados de pessoas que dizem não ter votado (abstenção) e que não lembram em quem votaram ou preferem não responder, e isso gera a subrepresentação em todos os votos. O mais subrepresentados na amostra são os eleitores de Haddad e Bolsonaro. O que não prejudica, dado que são os mais votados.Isso quer dizer que os votos em Amoedo, Ciro e Alckmin são menos distantes do resultado oficial, dado que são em menor número, isso por si só, é uma boa notícia.

Agora seguiremos com a recodificação

# dando nome as categorias se precisar
BASET <- subset(BASET, select = c(D1A_FAIXAID, D2_SEXO, D3_ESCOLA, MULTI_T1, Q12P2_B, D10, REG, D12A)) %>% na.omit() 
BASET$faixa_idade <- as.numeric(BASET$D1A_FAIXAID) # necessário em todos os dados
BASET$escolaridade <- as.numeric(BASET$D3_ESCOLA)
BASET$sexo <- as.numeric(BASET$D2_SEXO)
BASET <- BASET %>%
  mutate(Feminino = case_when(sexo == "2" ~ 1,
                            TRUE ~0)) 
BASET <- BASET %>%
  dplyr::mutate(Amoedo = case_when(MULTI_T1 == "5" ~ 1,
                              TRUE ~ 0)) 
table(BASET$Amoedo)#para conferir
## 
##    0    1 
## 2471   35
BASET <- BASET %>%
  mutate(Alckmin = case_when(MULTI_T1 == "4" ~ 1,
                            TRUE ~0))
BASET <- BASET %>%
  mutate(Ciro = case_when(MULTI_T1 == "3" ~ 1,
                            TRUE ~0))
BASET <- BASET %>%
  mutate(Haddad = case_when(MULTI_T1 == "2" ~ 1,
                          TRUE ~0))
BASET <- BASET %>%
  mutate(Bolsonaro = case_when(MULTI_T1 == "1" ~ 1,
                            TRUE ~0))
BASET <- BASET %>%
  mutate(Outros = case_when(MULTI_T1 == "6" ~ 1,
                               TRUE ~0))
BASET <- BASET %>%
  mutate(Branco_Nulo = case_when(MULTI_T1 == "7" ~ 1,
                            TRUE ~0))
BASET$D10 <- as.numeric(BASET$D10)

BASET <- BASET %>%
  mutate(Evangelico = case_when(D10 == "5" ~ 1,
                                TRUE ~ 0))%>%
  mutate(Catolico = case_when(D10 == "3" ~ 1,
                              TRUE ~ 0))%>%
  mutate(Ateu_Agnostico = case_when(D10 == "96" ~ 1,
                                    TRUE ~ 0))
BASET$REG <- as.numeric(BASET$REG)

BASET <- BASET %>%
  mutate(Sudeste = case_when(REG == "3" ~ 1,
                                TRUE ~ 0))%>%
  mutate(Norte = case_when(REG == "1" ~ 1,
                              TRUE ~ 0))%>%
  mutate(Sul = case_when(REG == "4" ~ 1,
                                    TRUE ~ 0))%>%
  mutate(Nordeste = case_when(REG == "2" ~1,TRUE ~ 0)) 


BASET$D12A <- as.numeric(BASET$D12A)

BASET <- BASET %>%
  mutate(Branco = case_when(D12A == "3" ~ 1,
                              TRUE ~0)) 

BASET <- subset(BASET, select = c(faixa_idade, Feminino, escolaridade, Amoedo,
                                  Alckmin, Ciro, Haddad, Bolsonaro, Outros,
                                  Branco_Nulo, Evangelico, Catolico, Ateu_Agnostico, Sul,
                                  Sudeste, Norte, Nordeste, Branco))

Modelos e Previsões

Primeiro traremos à tona o modelo e a previsão de Bolsonaro, depois apresentaremos os principais determinantes do voto no primeiro turno para Fernando Haddad, Ciro Gomes, Geraldo Alckmin, João Amoedo e Branco/Nulo.

Jair Bolsonaro

modelo_Bolsonaro  <- glm(Bolsonaro ~ escolaridade + 
                           Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                           Ateu_Agnostico + Sul + Nordeste + Sudeste + Norte + Branco, data = BASET,
                         family=binomial(link=logit))

tab_model(modelo_Bolsonaro, show.ci = F, auto.label = T, show.se = T, collapse.se = T, 
          wrap.labels = 60, p.style = "stars")
  Bolsonaro
Predictors Odds Ratios
(Intercept) 0.31 ***
(0.08)
escolaridade 1.08 ***
(0.02)
Feminino 0.59 ***
(0.05)
faixa_idade 1.08 **
(0.03)
Evangelico 1.76 ***
(0.16)
Ateu_Agnostico 0.58
(0.23)
Sul 0.98
(0.18)
Nordeste 0.57 **
(0.10)
Sudeste 0.84
(0.14)
Norte 1.43
(0.30)
Branco 1.14
(0.11)
Observations 2506
R2 Tjur 0.049
  • p<0.05   ** p<0.01   *** p<0.001

com a fórmula (OR-1)*100 = razão de chance (%)

obtemos os efeitos esperados de cada uma das clivagens sociais no voto do candidato. São comparados os eleitores dentro do grupo de eleitores do próprio candidato e assim observamos as clivagens sociais mais latentes de cada um dos seis votos possíveis à presidente.

Note que o primeiro passo é observar a presença de asteriscos ao lado dos valores, somente nesse caso deve-se aplicar a fórmula acima mencionada.

Sobre o valor do intercepto, não entraremos nesse quesito agora, caso tenha interesse em saber mais sobre essa medida sugiro esse site: https://blog.minitab.com/pt/analise-de-regressao-como-interpretar-a-constante-intercepto-y

No que concerne a Bolsonaro, observando os asteriscos ao lado das variáveis, percebemos que a cada elevação no nível de escolaridade (são 9 níveis, vai do analfabetismo à pós-graduação) é esperado um efeito de

(1.08-1)*100
## [1] 8

8% a mais de chance de votar em Bolsonaro

já ser mulher tem efeito negativo:

(0.59-1)*100
## [1] -41

Ser mulher (e não homem) reduz em 41% a chance de votar em Bolsonaro

Percebeu, caro leitor, uma relação? Escolaridade tem valor acima de 1 (1,08) e Feminino valor abaixo de um (0,59). Dado a fórmula utilizada, temos agora o “mapa da mina” para interpretar a tabela de regressão logística binária de todos os candidatos ->

1- observar se há asteriscos (significância) e prosseguir a análise somente nesses casos 2- Se o valor for maior que, um o efeito é positivo (como no exemplo, cada elevação de escolaridade aumenta a chance de votar em Bolsonaro). Já se o valor for menor que o efeito é negativo (conforme o caso do gênero, em que ser mulher reduz a probabilidade de votar em Bolsonaro.

3- aplicar a fórmula (OR-1)*100 = razão de chance (%) para obter todas as probabilidades

Perceba que a comparação que a fórmula faz é somente entre eleitores de Bolsonaro, por isso mesmo candidatos com poucos votos como Alckmin podem ser testados.

Utilizar a ferramenta Zelig é útil para prever cenários. Esse pacote do software gera 10 mil simulações de cenários solicitados. Foi o que pedimos para o programa rodar em relação ao voto em Bolsonaro.

Simulamos a probabilidade de um eleitor evangélico, não nordestino, homem, de alta escolaridade, com mais de 65 anos e branco votar em Bolsonaro em comparação com uma eleitora mulher, nordestina, não evangélica, que não tem nível máximo de escolaridade, que possui menos de 65 anos e que não é branca.

z.out1 <- zelig(Bolsonaro ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Sul + Nordeste + Sudeste + Norte+ Branco,
                model = "logit", data = BASET, cite = FALSE)

x.out1 <- Zelig::setx(z.out1,Evangelico = 1, Nordeste = 0, Feminino = 0, escolaridade = 9, 
                      faixa_idade = 7, Branco = 1)
s.out1 <- sim(z.out1, x = x.out1)
summary(s.out1)
## 
##  sim x :
##  -----
## ev
##           mean        sd       50%      2.5%     97.5%
## [1,] 0.6740082 0.0412101 0.6740694 0.5942014 0.7507259
## pv
##          0     1
## [1,] 0.307 0.693
plot(s.out1)

Obtivemos em 10 mil simulações dos fatores escolhidos. O critério para escolha desses fatores se deu em virtude de serem esses significantes para voto em Bolsonaro.

O valor médio de probabibilidade de voto em Bolsonaro nas 10 mil simulações foi (mean). 95% dos casos ficaram entre (números do intervalo acima observado ‘2,5%’ e ‘97,5%’). O efeito é ilustrado na imagem (histograma acima)

O mesmo procedimento foi realizado para todos os candidatos. Simulamos o efeito de todas as variáveis estatisticamente significativas para cada um dos seis votos em análise. Quando a escolaridade tem efeito positivo, simulamos o maior nível, em caso contrário, o menor. O mesmo é válido para a faixa de idade.

Já as outras (Feminino, religião, região, raça) basta colocar se tem ou não o atributo, quando esse for significativo

Deves ter observado que a região centro-Oeste, bem como outras categorias religiosas e de raça não aparecem na tabela. Isso é por que são categorias de referência. Isso quer dizer que nesses tipos de dados, uma parte tem de ser a referência para que se evite não ter base de comparação. Para saber mais sobre categorias de referências: https://www.cps.fgv.br/cps/pesquisas/Politicas_sociais_alunos/2009/BES_Regress%C3%A3oLog%C3%ADstica.pdf

Fernando Haddad

modelo_Haddad  <- glm(Haddad ~ escolaridade + 
                           Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                           Ateu_Agnostico + Sul + Nordeste + Sudeste + Norte + Branco, data = BASET,
                         family=binomial(link=logit))
tab_model(modelo_Haddad, show.ci = F, auto.label = T, show.se = T, collapse.se = T, 
          wrap.labels = 60, p.style = "stars")
  Haddad
Predictors Odds Ratios
(Intercept) 0.41 **
(0.12)
escolaridade 0.89 ***
(0.02)
Feminino 1.45 ***
(0.15)
faixa_idade 0.97
(0.03)
Evangelico 0.56 ***
(0.06)
Ateu_Agnostico 0.49
(0.27)
Sul 1.12
(0.27)
Nordeste 2.89 ***
(0.62)
Sudeste 0.90
(0.20)
Norte 1.72 *
(0.45)
Branco 0.71 **
(0.09)
Observations 2506
R2 Tjur 0.090
  • p<0.05   ** p<0.01   *** p<0.001
z.out1 <- zelig(Haddad ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Sul + Nordeste + Sudeste + Norte + Branco,
                model = "logit", data = BASET, cite = FALSE)
x.out1 <- Zelig::setx(z.out1,Evangelico = 0, Nordeste = 1, Feminino = 1, escolaridade = 0, Branco = 0)
s.out1 <- sim(z.out1, x = x.out1)
summary(s.out1)
## 
##  sim x :
##  -----
## ev
##           mean         sd       50%      2.5%     97.5%
## [1,] 0.6049074 0.05027858 0.6045327 0.5027059 0.6988276
## pv
##          0     1
## [1,] 0.376 0.624

Para o caso do voto em Haddad do partido dos trabalhadores (PT) simulamos (seguindo a mesma lógica comparativa mencionada acima no caso de Bolsonaro) e notamos qaue ser mulher, não evangélica, do nordeste e não-branca elevou em média (mean) a chance de votar no petista. 95% das simulações obtiveram efeito de (intervalo 2,5-97,%).

Ciro Gomes

modelo23  <- glm(Ciro ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Ateu_Agnostico + Sul + Nordeste + Sudeste + Norte + Branco, data = BASET,
                family=binomial(link=logit))
tab_model(modelo23, show.ci = F, auto.label = T, show.se = T, collapse.se = T, 
          wrap.labels = 60, p.style = "stars")
  Ciro
Predictors Odds Ratios
(Intercept) 0.02 ***
(0.01)
escolaridade 1.24 ***
(0.05)
Feminino 1.34
(0.21)
faixa_idade 0.91
(0.05)
Evangelico 0.46 ***
(0.09)
Ateu_Agnostico 2.15
(0.91)
Sul 1.03
(0.42)
Nordeste 2.93 **
(1.03)
Sudeste 1.31
(0.46)
Norte 1.28
(0.58)
Branco 1.04
(0.19)
Observations 2506
R2 Tjur 0.045
  • p<0.05   ** p<0.01   *** p<0.001
z.out1 <- zelig(Ciro ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Sul + Nordeste + Sudeste + Norte + Branco,
                model = "logit", data = BASET, cite = FALSE)
x.out1 <- Zelig::setx(z.out1,Evangelico = 0, Nordeste = 1, escolaridade = 9) 
s.out1 <- sim(z.out1, x = x.out1)
summary(s.out1)
## 
##  sim x :
##  -----
## ev
##           mean         sd       50%      2.5%     97.5%
## [1,] 0.3173847 0.06362767 0.3146739 0.2026666 0.4535864
## pv
##          0     1
## [1,] 0.645 0.355

Para o caso do voto em Ciro Gomes notamos que não ser evangélico, do nordeste e de alta escolaridade elevou em média (mean) chance de votar nesse candidato. 95% das simulações obtiveram efeito de (intervalo 2,5-97,%).

Geraldo Alckmin

modelo24  <- glm(Alckmin ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Ateu_Agnostico + Sul + Nordeste + Sudeste + Norte + Branco, data = BASET,
                family=binomial(link=logit))
tab_model(modelo24, show.ci = F, auto.label = T, show.se = T, collapse.se = T, 
          wrap.labels = 60, p.style = "stars")
  Alckmin
Predictors Odds Ratios
(Intercept) 0.01 ***
(0.01)
escolaridade 1.00
(0.07)
Feminino 1.50
(0.44)
faixa_idade 1.16
(0.11)
Evangelico 0.79
(0.25)
Ateu_Agnostico 1.22
(1.26)
Sul 0.52
(0.32)
Nordeste 0.25 *
(0.17)
Sudeste 1.10
(0.54)
Norte 0.89
(0.60)
Branco 1.46
(0.44)
Observations 2506
R2 Tjur 0.008
  • p<0.05   ** p<0.01   *** p<0.001
z.out1 <- zelig(Alckmin ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Sul + Sul + Nordeste + Sudeste + Norte + Branco,
                model = "logit", data = BASET, cite = FALSE)
x.out1 <- Zelig::setx(z.out1, Nordeste = 0) 
s.out1 <- sim(z.out1, x = x.out1)
summary(s.out1)
## 
##  sim x :
##  -----
## ev
##            mean          sd       50%       2.5%      97.5%
## [1,] 0.02391784 0.004555709 0.0234917 0.01625097 0.03371442
## pv
##          0     1
## [1,] 0.978 0.022

Para o caso do voto em Alckmi, notamos quesomente Nordeste apresentou efeito. Então obtivemos na simulação com o Zelig que não ser do Nordeste elevou em média (mean) de chance do voto em Alckmin. 95% das simulações obtiveram efeito de (intervalo 2,5-97,%) de votar nesse candidato.

João Amoedo

modelo25  <- glm(Amoedo ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Ateu_Agnostico + Sul + Nordeste + Sudeste + Norte + Branco, data = BASET,
                family=binomial(link=logit))
tab_model(modelo25, show.ci = F, auto.label = T, show.se = T, collapse.se = T, 
          wrap.labels = 60, p.style = "stars")
  Amoedo
Predictors Odds Ratios
(Intercept) 0.00
(0.00)
escolaridade 1.38 **
(0.14)
Feminino 1.08
(0.37)
faixa_idade 0.92
(0.11)
Evangelico 0.91
(0.36)
Ateu_Agnostico 2.29
(1.79)
Sul 9250903.70
(6901044405.21)
Nordeste 2191645.31
(1634936858.69)
Sudeste 5320318.80
(3968882972.47)
Norte 1820146.54
(1357804879.90)
Branco 1.09
(0.41)
Observations 2506
R2 Tjur 0.014
  • p<0.05   ** p<0.01   *** p<0.001
z.out1 <- zelig(Amoedo ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Sul + Nordeste + Sudeste + Norte + Branco,
                model = "logit", data = BASET, cite = FALSE)
x.out1 <- Zelig::setx(z.out1,escolaridade = 9)
s.out1 <- sim(z.out1, x = x.out1)
summary(s.out1)
## 
##  sim x :
##  -----
## ev
##           mean        sd         50%                     2.5% 97.5%
## [1,] 0.4594808 0.4914487 0.004978276 0.0000000000000002220446     1
## pv
##          0     1
## [1,] 0.541 0.459

Para o caso do voto em João Amoedo do partido Novo notamos que cada elevação no nível de escolaridade aumenta em cerca de 38% a chance do voto no candidato. Testamos o cenário do eleitor ter o maior nível de escolaridade e essa elevou em média (mean) chance de votar nesse candidato. 95% das simulações obtiveram efeito de (intervalo 2,5-97,%).

Brancos e Nulos

modelo46 <- glm(Branco_Nulo ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Ateu_Agnostico + Sul + Nordeste + Sudeste + Norte+ Branco, data = BASET,
                family=binomial(link=logit))
tab_model(modelo46, show.ci = F, auto.label = T, show.se = T, collapse.se = T, 
          wrap.labels = 60, p.style = "stars")
  Branco_Nulo
Predictors Odds Ratios
(Intercept) 0.01 ***
(0.01)
escolaridade 1.07
(0.04)
Feminino 1.66 **
(0.30)
faixa_idade 1.04
(0.06)
Evangelico 0.69
(0.14)
Ateu_Agnostico 0.00
(0.00)
Sul 1.72
(0.90)
Nordeste 2.36
(1.15)
Sudeste 2.91 *
(1.37)
Norte 1.46
(0.87)
Branco 0.98
(0.19)
Observations 2506
R2 Tjur 0.011
  • p<0.05   ** p<0.01   *** p<0.001
z.out1 <- zelig(Branco_Nulo ~ escolaridade + 
                  Feminino + faixa_idade + Evangelico + Ateu_Agnostico + Evangelico +
                  Sul + Nordeste + Sudeste + Norte + Branco,
                model = "logit", data = BASET, cite = FALSE)
x.out1 <- Zelig::setx(z.out1, Feminino = 1, Sudeste = 1)
s.out1 <- sim(z.out1, x = x.out1)
summary(s.out1)
## 
##  sim x :
##  -----
## ev
##           mean        sd       50%           2.5%     97.5%
## [1,] 0.3728098 0.4200007 0.1074338 0.000001649191 0.9999272
## pv
##         0    1
## [1,] 0.62 0.38

Para o caso do voto em anulado (Brancos e Nulos) notamos que ser mulher e do Sudeste aumenta a chance desse comportamento eleitoral. Testamos esse cenário duplo e encontramos elevação em média (mean) de chance votar nesse branco e nulo nas dez mil simulações Zelig. 95% das simulações obtiveram efeito de (intervalo 2,5-97,%).

Conclusão

tab_model(modelo_Haddad, modelo_Bolsonaro, modelo23, modelo24, modelo25, modelo46, show.ci = F, auto.label = T, show.se = T, collapse.se = T, 
          wrap.labels = 60, p.style = "stars")
  Haddad Bolsonaro Ciro Alckmin Amoedo Branco_Nulo
Predictors Odds Ratios Odds Ratios Odds Ratios Odds Ratios Odds Ratios Odds Ratios
(Intercept) 0.41 **
(0.12)
0.31 ***
(0.08)
0.02 ***
(0.01)
0.01 ***
(0.01)
0.00
(0.00)
0.01 ***
(0.01)
escolaridade 0.89 ***
(0.02)
1.08 ***
(0.02)
1.24 ***
(0.05)
1.00
(0.07)
1.38 **
(0.14)
1.07
(0.04)
Feminino 1.45 ***
(0.15)
0.59 ***
(0.05)
1.34
(0.21)
1.50
(0.44)
1.08
(0.37)
1.66 **
(0.30)
faixa_idade 0.97
(0.03)
1.08 **
(0.03)
0.91
(0.05)
1.16
(0.11)
0.92
(0.11)
1.04
(0.06)
Evangelico 0.56 ***
(0.06)
1.76 ***
(0.16)
0.46 ***
(0.09)
0.79
(0.25)
0.91
(0.36)
0.69
(0.14)
Ateu_Agnostico 0.49
(0.27)
0.58
(0.23)
2.15
(0.91)
1.22
(1.26)
2.29
(1.79)
0.00
(0.00)
Sul 1.12
(0.27)
0.98
(0.18)
1.03
(0.42)
0.52
(0.32)
9250903.70
(6901044405.21)
1.72
(0.90)
Nordeste 2.89 ***
(0.62)
0.57 **
(0.10)
2.93 **
(1.03)
0.25 *
(0.17)
2191645.31
(1634936858.69)
2.36
(1.15)
Sudeste 0.90
(0.20)
0.84
(0.14)
1.31
(0.46)
1.10
(0.54)
5320318.80
(3968882972.47)
2.91 *
(1.37)
Norte 1.72 *
(0.45)
1.43
(0.30)
1.28
(0.58)
0.89
(0.60)
1820146.54
(1357804879.90)
1.46
(0.87)
Branco 0.71 **
(0.09)
1.14
(0.11)
1.04
(0.19)
1.46
(0.44)
1.09
(0.41)
0.98
(0.19)
Observations 2506 2506 2506 2506 2506 2506
R2 Tjur 0.090 0.049 0.045 0.008 0.014 0.011
  • p<0.05   ** p<0.01   *** p<0.001

Os preditores encontrados para o voto em Bolsonaro são similares aos encontrados em outros achados e pesquisas. Ser homem, evangélico, branco e mais idoso foi um forte determinante no voto em Bolsonaro. Embora é bom que se diga, que o voto no ex-capitão voto foi bem espalhado em várias categorias. Os únicos bastiões de resistência à onda Bolsonaro em 2018 parecem ser as mulheres e os nordestinos.

Ciristas e petistas são parecidos, mas nem tanto. Não ter identificação evangélica e estar no nordeste apresenta direção similar. Por outro lado, ser mulher e pouco escolarizado apresenta maior probabilidade do voto petista. Os ciristas mais prováveis são os mais escolarizados. Aplicando a fórmula ’(OR-1)*100 = razão de chance (%)’ têm-se que cada elevação do nível de escolaridade aumenta em 24% a chance de votar em Ciro.

O voto em Alckmin não tem um padrão muito identificado, o único efeito encontrado foi o fato de que o Nordeste pareceu mais reticente a dar o voto ao tucano, do que as outras regiões.

Chama a atenção o caso dos votos brancos e nulos por ser atrelado à região Sudeste. Não encontrei em nenhuma leitura essa dimensão, sendo portanto um interessante ponto para análises futuras. As mulheres também são muito mais tendentes à anulação do voto do que os homens.

Os “amoedistas” tem como característica maior escolaridade. Suspeito que o parco número de casos na amostra (35) pode ter inviabilizado o aparecimento de mais clivagens sociais significativas para o voto no Novo.

Poderia ser possível utilizar muito mais dados e aprofundar análises, inserir a votação no segundo turno, como feito acima no caso de Amoedo, mas tudo a seu tempo. O que me foi possível fazer apresenta essas constatações. O objetivo central de apresentar as clivagens sociais e os seis votos analisados, foi entretanto, cumprido. Para receber mais análises desse tipo te convido a seguir nossas redes sociais - https://sites.google.com/view/gregoriosilva/curtas