#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
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))
| Country | Tornout | Compulsory |
|---|---|---|
| Nauru | 95.1 | Yes |
| Malta | 92.1 | No |
| Australia | 91.9 | Yes |
| Antigua and Barbuda | 90.3 | No |
| Uruguay | 90.1 | Yes |
| Luxembourg | 89.7 | Yes |
| Faroe Islands | 89.4 | No |
| Bolivia | 88.4 | Yes |
| Belgium | 88.4 | Yes |
| Burundi | 87.3 | No |
| Sweden | 87.2 | No |
| Turkey | 86.2 | Yes |
| Aruba | 84.7 | No |
| Denmark | 84.6 | No |
| Botswana | 83.5 | No |
| New Zealand | 82.2 | No |
| Belize | 81.9 | No |
| Papua New Guinea | 81.3 | No |
| Ecuador | 81 | Yes |
| Timor-Leste | 81 | No |
| Argentina | 80.9 | Yes |
| Sao Tome and Principe | 80.7 | No |
| Iceland | 80.1 | No |
| Brazil | 79.8 | Yes |
| Cook Islands | 79.1 | No |
| Netherlands | 78.7 | No |
| Liechtenstein | 78 | Yes |
| Ghana | 77.8 | No |
| Kenya | 77.4 | No |
| Norway | 77.2 | No |
| Germany | 76.6 | No |
| Angola | 76.1 | No |
| Kiribati | 75.7 | No |
| Austria | 75.6 | No |
| Taiwan | 74.9 | No |
| Thailand | 74.7 | Yes |
| Italy | 72.9 | No |
| Indonesia | 72.6 | No |
| Fiji | 71.9 | No |
| Spain | 71.8 | No |
| Bhutan | 71.5 | No |
| Gibraltar | 70.8 | No |
| Panama | 70.7 | Yes |
| Peru | 70.1 | Yes |
| Malawi | 70.1 | No |
| Hungary | 69.7 | No |
| Samoa | 69.5 | Yes |
| Finland | 68.7 | No |
| Nepal | 68.7 | No |
| Andorra | 68.3 | No |
| Israel | 67.4 | No |
| India | 67.4 | No |
| Saint Vincent and The Grenadines | 67 | No |
| Korea, Republic of | 66.2 | No |
| South Africa | 66 | No |
| Slovakia | 65.8 | No |
| Cyprus | 65.7 | No |
| Costa Rica | 65.6 | Yes |
| Bahamas | 65 | No |
| Estonia | 63.7 | No |
| Nicaragua | 63.5 | No |
| Guatemala | 63.4 | No |
| Ireland | 62.8 | No |
| Comoros | 62.4 | No |
| Canada | 62.2 | No |
| Poland | 61.7 | No |
| Anguilla | 61 | No |
| Bermuda | 60.9 | No |
| Paraguay | 60.9 | Yes |
| Czech Republic | 60.8 | No |
| Namibia | 60.4 | No |
| Honduras | 59.5 | Yes |
| Saint Kitts and Nevis | 58.4 | No |
| Trinidad and Tobago | 58 | No |
| Greece | 57.8 | Yes |
| Cabo Verde | 57.5 | No |
| United States | 56.8 | No |
| Georgia | 56.1 | No |
| San Marino | 55.7 | No |
| Dominican Republic | 55.2 | No |
| Latvia | 54.6 | No |
| Bosnia and Herzegovina | 54 | No |
| Dominica | 53.7 | No |
| Senegal | 53.7 | No |
| Saint Lucia | 53.5 | No |
| Japan | 52.7 | No |
| Mexico | 52.7 | Yes |
| Slovenia | 52.6 | No |
| North Macedonia, Republic of | 52 | No |
| Mozambique | 51.4 | No |
| Vanuatu | 51.3 | No |
| Burkina Faso | 50.7 | No |
| Morocco | 50.2 | No |
| Lebanon | 49.7 | Yes |
| Armenia | 49.4 | No |
| Ukraine | 49.2 | No |
| Bulgaria | 49.1 | Yes |
| Colombia | 49 | No |
| Kosovo | 48.8 | No |
| France | 48.7 | No |
| Portugal | 48.6 | No |
| Lithuania | 47.8 | No |
| Croatia | 46.9 | No |
| Chile | 46.5 | No |
| Lesotho | 46.4 | No |
| Albania | 46.3 | No |
| Congo, Democratic Republic of | 45.4 | Yes |
| Switzerland | 45.1 | No |
| El Salvador | 45 | No |
| Cameroon | 43.8 | No |
| Tunisia | 41.7 | No |
| Cote d'Ivoire | 37.9 | No |
| Jamaica | 37.9 | No |
| Nigeria | 32.1 | No |
| Romania | 31.8 | No |
| Venezuela | 30.1 | No |
| Benin | 27.2 | No |
| Algeria | 23 | No |
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)
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)
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.
\(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) | |
| CompulsoryYes | 10.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 |
| R2 | 0.073 | 0.196 | 0.246 |
| AIC | 983.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)
| Variables | Tolerance | VIF |
|---|---|---|
| CompulsoryYes | 0.932 | 1.07 |
| RegionAmericas | 0.545 | 1.83 |
| RegionAsia | 0.74 | 1.35 |
| RegionEuropa Ocidental | 0.608 | 1.64 |
| RegionLeste Europeu | 0.64 | 1.56 |
| RegionOceania | 0.754 | 1.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)
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 |
| R2 | 0.018 | 0.151 | 0.039 | 0.189 | 0.108 | 0.354 |
| AIC | 203.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).