Dois é companhia… três é multidão

legislativas 2022

Breve tratado sobre a (im)possibilidade…

JRDANIEL
2022-01-10

Círculos eleitorais que elegem 3 deputados: Beja, Bragança, Évora, Guarda

O método Hondt é um dos modelo matemáticos utilizados para converter votos em mandatos de órgãos de natureza colegial. Podem espreitar aqui para terem uma ideia de como funciona a aplicação deste método às previsões dos resultados das próximas eleições legislativas.

Resumidamente, para um círculo eleitoral que elege 3 deputados, com as seguintes votações hipotéticas (A = 1000, B = 700, C = 300), funciona assim:

   1) divisão sucessiva do número de votos (de 1 até ao número de deputados que o círculo elege)

 Partido Votos Divisor  Hondt
       A  1000       1 1000.0
       B   700       1  700.0
       C   300       1  300.0
       A  1000       2  500.0
       B   700       2  350.0
       C   300       2  150.0
       A  1000       3  333.3
       B   700       3  233.3
       C   300       3  100.0

   2) ordenação dos quocientes

 Partido Votos Divisor  Hondt Ordem Eleito
       A  1000       1 1000.0     1    Sim
       B   700       1  700.0     2    Sim
       A  1000       2  500.0     3    Sim
       B   700       2  350.0     4    Não
       A  1000       3  333.3     5    Não
       C   300       1  300.0     6    Não
       B   700       3  233.3     7    Não
       C   300       2  150.0     8    Não
       C   300       3  100.0     9    Não

E foi o Hondt que os…

Na prática para círculos eleitorais que elegem 3 deputados, o terceiro partido mais votado só elege 1 deputado se tiver uma votação que seja igual ou superior a metade dos 2 partidos mais votados. Isto faz com que os partidos pequenos nestes círculos estejam muito longe dos lugares elegíveis (último lugar elegível ~20% com as previsões actuais.

Dado o panorama, somente em Évora o 3º deputado parece estar em disputa entre PS, PSD e PCP (com possibilidade de os 3 lugares ficarem distribuídos pelos 3 partidos). Para Bragança, os valores previstos para PS e PSD tornam matematicamente impossível um terceiro partido conquistar 1 lugar.

Move o cursor por cima dos valores do gráfico para perceber como a combinação de valores dos dois partidos mais votados (x, y), condiciona a entrada de um terceiro partido (z) em círculos eleitorais com 3 deputados. As setas no gráfico apontam para os valores previstos para estes 4 círculos (o valor z indica o valor mínimo necessário para entrar na festa).


Source code:

library('dplyr')
library(plotly)

#dados hipotéticos
#3 partidos / círculo com 3 deputados
data3 <- data.frame(Partido = c("A", "B", "C"),
                    Votos = c(1000, 700, 300))

data3_2 <- cbind.data.frame(data3, Divisor = rep(1:3, each = 3)) %>%
  mutate(Hondt = round(Votos / Divisor, digits = 1)) %>%
  arrange(-Hondt) %>%
  mutate(Ordem = 1:n(),
         Eleito = ifelse(Ordem <= 3, "Sim", "Não"))

#heatmap 
library(plotly)
data3_4 <- matrix(nrow = 100, ncol = 100)
for(x in 1:100){
  for(y in 1:100){
    data3_4[x, y] <- max(x/2, y/2)
    ifelse(sum(x, y, data3_4[x, y]) > 100,
           data3_4[x, y] <- NA,
           data3_4[x, y] <- data3_4[x, y])
    ifelse(data3_4[x, y] > min(x, y),
           data3_4[x, y] <- NA,
           data3_4[x, y] <- data3_4[x, y])
    }
  }

data3_4 <- setNames(reshape2::melt(data3_4), c('P1', 'P2', 'P3')) %>%
  filter(!is.na(P3)) %>%
  filter(P1 >= P2)

#plot
#previsões consultadas em 2021/01/10
p <- ggplot(data3_4, aes(P1, P2, fill= P3)) + 
  geom_tile() +
  theme_minimal() +
  labs(fill = "% mínima 3º partido")

pp <- ggplotly(p) %>%
  layout(yaxis = list(title = '<b>%PSD: Évora, Bragança e Guarda<br>%PCP: Beja</b>'), 
         xaxis = list(title = '<b>% PS</b>'),
         annotations = list(
                               list(showarrow = T,
                                    y = "20.9", x = "39.4", z = 1,
                                    text = "Beja (PSD 3º)", xanchor = "left", xshift = 0, opacity = 0.7),
                               list(showarrow = T,
                                    y = "35.2", x = "45.2", z = 0, text = "Bragança",
                                    xanchor = "left", xshift = 0, opacity = 0.7),
                               list(showarrow = T,
                                    y = "20.2", x = "36.8", z = 0, text = "Évora (PCP 3º)",
                                    xanchor = "right", xshift = 0, opacity = 0.7),
                               list(showarrow = T,
                                    x = "38.7", y = "36.3", z = 0, text = "Guarda",
                                    xanchor = "left", xshift = 0, opacity = 0.7)
                             ))
pp

Updates and Corrections

View all changes to this article since it was first published. If you see mistakes or want to suggest changes, please create an issue on the source repository.

Citation

For attribution, please cite this work as

JRDANIEL (2022, Jan. 10). caRpintaria: Dois é companhia... três é multidão. Retrieved from https://joaordaniel.github.io/carpintaria/posts/2022-01-09-dois-companhia-3-multido/

BibTeX citation

@misc{jrdaniel2022dois,
  author = {JRDANIEL, },
  title = {caRpintaria: Dois é companhia... três é multidão},
  url = {https://joaordaniel.github.io/carpintaria/posts/2022-01-09-dois-companhia-3-multido/},
  year = {2022}
}