#load pacotes
library(readxl)
base <- read_excel("idea_export_40_616830a0840fa.xls")
library(tidyverse)
library(huxtable)
library(coefplot)
library(olsrr)
library(sjPlot)

Caso queira replicar, solicite-me o arquivo ‘idea_export_40_616830a0840fa.xls’ pelo meu e-mail

base$Tornout <- as.numeric(base$Tornout) # arrumar problemas na codificação dos dados, transformar em numérico

Aqui constarão especialmente os códigos, uma análise mais opinativa sobre o voto obrigatório constará no youtube: https://www.youtube.com/channel/UC0rKmGqFWnsWozw5rftWyag/videos

Lista completa de casos utilizados

dim(base) # numero de linhas
## [1] 118   6

118 países

Selecionados casos de países com eleições minimamente regulares.

Foram selecionadas as eleições parlamentares mais recentes encontradas até 14 de Outubro de 2021 - https://www.idea.int/data-tools/data/voter-turnout

Lista completa dos casos - classificados pelo maior comparecimento - consta abaixo.

tibble(base%>%
         arrange(desc(Tornout))%>%select(Country, Tornout, Compulsory))
CountryTornoutCompulsory
Nauru95.1Yes
Malta92.1No
Australia91.9Yes
Antigua and Barbuda90.3No
Uruguay90.1Yes
Luxembourg89.7Yes
Faroe Islands89.4No
Bolivia88.4Yes
Belgium88.4Yes
Burundi87.3No
Sweden87.2No
Turkey86.2Yes
Aruba84.7No
Denmark84.6No
Botswana83.5No
New Zealand82.2No
Belize81.9No
Papua New Guinea81.3No
Ecuador81  Yes
Timor-Leste81  No
Argentina80.9Yes
Sao Tome and Principe80.7No
Iceland80.1No
Brazil79.8Yes
Cook Islands79.1No
Netherlands78.7No
Liechtenstein78  Yes
Ghana77.8No
Kenya77.4No
Norway77.2No
Germany76.6No
Angola76.1No
Kiribati75.7No
Austria75.6No
Taiwan74.9No
Thailand74.7Yes
Italy72.9No
Indonesia72.6No
Fiji71.9No
Spain71.8No
Bhutan71.5No
Gibraltar70.8No
Panama70.7Yes
Peru70.1Yes
Malawi70.1No
Hungary69.7No
Samoa69.5Yes
Finland68.7No
Nepal68.7No
Andorra68.3No
Israel67.4No
India67.4No
Saint Vincent and The Grenadines67  No
Korea, Republic of66.2No
South Africa66  No
Slovakia65.8No
Cyprus65.7No
Costa Rica65.6Yes
Bahamas65  No
Estonia63.7No
Nicaragua63.5No
Guatemala63.4No
Ireland62.8No
Comoros62.4No
Canada62.2No
Poland61.7No
Anguilla61  No
Bermuda60.9No
Paraguay60.9Yes
Czech Republic60.8No
Namibia60.4No
Honduras59.5Yes
Saint Kitts and Nevis58.4No
Trinidad and Tobago58  No
Greece57.8Yes
Cabo Verde57.5No
United States56.8No
Georgia56.1No
San Marino55.7No
Dominican Republic55.2No
Latvia54.6No
Bosnia and Herzegovina54  No
Dominica53.7No
Senegal53.7No
Saint Lucia53.5No
Japan52.7No
Mexico52.7Yes
Slovenia52.6No
North Macedonia, Republic of52  No
Mozambique51.4No
Vanuatu51.3No
Burkina Faso50.7No
Morocco50.2No
Lebanon49.7Yes
Armenia49.4No
Ukraine49.2No
Bulgaria49.1Yes
Colombia49  No
Kosovo48.8No
France48.7No
Portugal48.6No
Lithuania47.8No
Croatia46.9No
Chile46.5No
Lesotho46.4No
Albania46.3No
Congo, Democratic Republic of45.4Yes
Switzerland45.1No
El Salvador45  No
Cameroon43.8No
Tunisia41.7No
Cote d'Ivoire37.9No
Jamaica37.9No
Nigeria32.1No
Romania31.8No
Venezuela30.1No
Benin27.2No
Algeria23  No

Objetivo:

verificar se comparecimento eleitoral é explicado por Região do globo e lei eleitoral que obriga participação

Modelo contemplado nessa análise

\(Comparecimento = X1 + X2 + e\)

Intercepto - usual em análises - para saber mais sobre procure no google

X1 = Obrigatoriedade do voto (efeito institucional) X2 = Região do mundo (efeito cultural)

Sendo o e = erro (o que não foi explicado pela análise, o que ficou de fora, por exemplo - desde quando tem eleições)

Análise descritiva

summary(base$Tornout)#dispersão Tornout
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   23.03   52.17   64.33   64.17   77.02   95.13
table(base$Region)
## 
##           Africa         Americas             Asia Europa Ocidental 
##               23               31               11               24 
##    Leste Europeu          Oceania 
##               20                9
table(base$Compulsory)
## 
##  No Yes 
##  95  23
summary(base$Year)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    2014    2018    2019    2019    2020    2021
hist(base$Tornout)

Análise bivariada

by(base$Tornout, base$Region, mean)
## base$Region: Africa
## [1] 56.63478
## ------------------------------------------------------------ 
## base$Region: Americas
## [1] 63.06903
## ------------------------------------------------------------ 
## base$Region: Asia
## [1] 67.87636
## ------------------------------------------------------------ 
## base$Region: Europa Ocidental
## [1] 72.2675
## ------------------------------------------------------------ 
## base$Region: Leste Europeu
## [1] 56.7585
## ------------------------------------------------------------ 
## base$Region: Oceania
## [1] 77.55889
by(base$Tornout, base$Compulsory, mean)
## base$Compulsory: No
## [1] 62.07253
## ------------------------------------------------------------ 
## base$Compulsory: Yes
## [1] 72.83087
prop.table(table(base$Region, base$Compulsory),1)
##                   
##                            No        Yes
##   Africa           0.95652174 0.04347826
##   Americas         0.67741935 0.32258065
##   Asia             0.81818182 0.18181818
##   Europa Ocidental 0.83333333 0.16666667
##   Leste Europeu    0.85000000 0.15000000
##   Oceania          0.66666667 0.33333333
boxplot(base$Tornout ~ base$Region, 
        col = "orange", ylab="Comparecimento", xlab="Região")

boxplot(base$Tornout ~ base$Compulsory, 
        col = "orange", ylab="Comparecimento", xlab="Voto Obrigatório?")

Percebe-se que há associações mútuas entre as variáveis.

Regressão

\(Modelo 1\) - Obrigatoriedade explica Comparecimento?

\(Modelo 2\) - Região explica comparecimento?

\(Modelo Completo:\)

\(Comparecimento = Intercepto + Obrigatoriedade + Região + e\)

modelo_Obrig <- lm(Tornout ~ Compulsory, data = base) # modelo simples 1
modelo_region <- lm(Tornout ~ Region, data = base) # modelo simples 2
modelo_full <- lm(Tornout ~ Compulsory + Region, data = base) # modelo completo 
huxreg(modelo_Obrig, modelo_region, modelo_full, stars = c(`*` = 0.1, `**` = 0.05,
                                  `***` = 0.01), statistics = c("N. obs." = "nobs", "R2" = "r.squared",
                                                                "AIC" = "AIC"))
(1)(2)(3)
(Intercept)62.073 ***56.635 ***56.231 ***
(1.577)   (3.037)   (2.957)   
CompulsoryYes10.758 ***        9.276 ***
(3.571)           (3.410)   
RegionAmericas        6.434    3.845    
        (4.008)   (4.013)   
RegionAsia        11.242 ** 9.958 *  
        (5.339)   (5.214)   
RegionEuropa Ocidental        15.633 ***14.490 ***
        (4.250)   (4.155)   
RegionLeste Europeu        0.124    -0.864    
        (4.453)   (4.346)   
RegionOceania        20.924 ***18.235 ***
        (5.726)   (5.656)   
N. obs.118        118        118        
R20.073    0.196    0.246    
AIC983.656    974.846    969.233    
*** p < 0.01; ** p < 0.05; * p < 0.1.
coefplot(modelo_full, intercept = F)
## Warning: It is deprecated to specify `guide = FALSE` to remove a guide. Please
## use `guide = "none"` instead.

## Warning: It is deprecated to specify `guide = FALSE` to remove a guide. Please
## use `guide = "none"` instead.

## Warning: It is deprecated to specify `guide = FALSE` to remove a guide. Please
## use `guide = "none"` instead.

Algumas regiões são explicativas (África é referência, todas são comparadas com essa). Para outras comparações verificar os diferentes impactos. Oceania e Europa Ocidental tem os maiores efeitos.

Obrigatoriedade é explicativo.

Abaixo o diagnóstico residual do modelo completo>

plot(modelo_full) # a segunda

ols_vif_tol(modelo_full)
VariablesToleranceVIF
CompulsoryYes0.9321.07
RegionAmericas0.5451.83
RegionAsia0.74 1.35
RegionEuropa Ocidental0.6081.64
RegionLeste Europeu0.64 1.56
RegionOceania0.7541.33

VIF ok (“VIF de 1 indica que não há correlação entre um determinado preditor e os demais incluídos no modelo, logo, não ocorre a inflação do seu coeficiente estimado”)

abaixo análise breve dos resídos

resid <- (cbind(base$Tornout, predict(modelo_full), residuals(modelo_full)))

Argélia e Venzeula foram os casos em que ocorreu maior imprevisbilidade negativa (menor participação que o previsto pelo modelo). Não surpreende dado recentes crises de legitimidade nesses países.

Brasil previu 10% a menos de votação (talvez o fato de ser junto com a de presidente, não verificado)

O peso em cada Região

Regreessões separadas para cada região,

Modelo 1 - África

Modelo 2 - Américas

Modelo 3 e 4 - Ásia e Oceania (sem separação e com separação)

Modelo 5 e 6- Europa (ocidental + Oriental) (sem separação e com separação)

#criando bases e modelos  de cada região
# Africa
Africa <- base%>%
  filter(Region == "Africa")
modelo_Africa <- lm(Tornout ~ Compulsory, data = Africa)
# Americas
Americas <- base%>%
  filter(Region == "Americas")
modelo_Americas <- lm(Tornout ~ Compulsory, data = Americas)
#Asia/Oceania
Asia_Oceania <- base%>%
  filter(Region == "Asia"| Region == "Oceania")
modelo_AsiaOceania1 <- lm(Tornout ~ Compulsory, data = Asia_Oceania)
modelo_AsiaOceania2 <- lm(Tornout ~ Compulsory + Region, data = Asia_Oceania)
#Europa
Europa <- base%>%
  filter(Region == "Leste Europeu"| Region == "Europa Ocidental")
modelo_Europa1 <- lm(Tornout ~ Compulsory, data = Europa)
modelo_Europa2 <- lm(Tornout ~ Compulsory + Region, data = Europa)
huxreg(modelo_Africa, modelo_Americas, modelo_AsiaOceania1, modelo_AsiaOceania2, modelo_Europa1, modelo_Europa2, stars = c(`*` = 0.1, `**` = 0.05,
                                  `***` = 0.01), statistics = c("N. obs." = "nobs", "R2" = "r.squared",
                                                                "AIC" = "AIC"))
(1)(2)(3)(4)(5)(6)
(Intercept)57.145 ***59.233 ***70.919 ***67.254 ***63.027 ***70.051 ***
(3.993)   (2.971)   (3.086)   (3.571)   (2.436)   (2.748)   
CompulsoryYes-11.745    11.892 ** 5.257    3.424    13.770 ** 13.298 ** 
(19.151)   (5.231)   (6.172)   (5.922)   (6.107)   (5.260)   
RegionOceania                        9.164 *                  
                        (5.155)                   
RegionLeste Europeu                                        -15.287 ***
                                        (3.863)   
N. obs.23        31        20        20        44        44        
R20.018    0.151    0.039    0.189    0.108    0.354    
AIC203.965    253.793    159.886    158.476    366.048    353.816    
*** p < 0.01; ** p < 0.05; * p < 0.1.

O efeito cultural é observável - África e Ásia não sentem o efeito da compulsoriedade. Oceania eleva por si só (modelo 5) o comparecimento, Leste Europeu tem efeito oposto dentro do contexto europeu (modelo 6).