O sistema partidário e a Lei de Duverger

A Ciência Política política é bastante interessada nos efeitos das instituições sobre fenômenos políticos. E a famosa Lei de Duverger é uma das poucas proposições que alcança um status de lei nas Ciências Sociais. Recentemente, eu, José Alexandre e colegas escrevemos um artigo sobre sua aplicabilidade no cenário brasileiro.

Sem entrar nos detalhes das reformulações das proposições (que você pode ler no artigo), o esperado pela Lei de Duverger é o império de sistemas bipartidários em sistemas majoritários. No Brasil, a eleição para o Senado Federal é um bom exemplo de sistema majoritário e nos serve ao propósito de avaliar a Lei e as condições para seu sucesso, ou o contrário.

As eleições para o Senado brasileiro mantém a mesma fórmula mas altera a magnitude (as vagas em disputas) de forma regular (4 em 4 anos). Em uma eleição são duas vagas e na seguinte apenas uma. Nesse sentido, nossa hipótese é a de que o efeito do sistema majoritário está mais presente nas eleições onde apenas uma vaga está disponível.

Figura: Número de Partidos Efetivos e Magnitude para o Senado

Figura

Como vemos, embora o sistema partidário se comporte razoavelmente dentro da espectativa da Lei de Duverger (e suas reespecificações, M+1) quando a magnitude é igual a 1, o mesmo não ocorre quando ela aumenta. Isso mostra, que o efeito da Lei é condicionado por outros fatores, como a magnitude.

Mas então o quê? No artigo investigamos um pouco mais detalhadamente algumas condições que fazem com que a Lei não se ajuste consistentemente no Brasil: magnitude (como dito), estratégia partidária, nacionalização e disputas eleitorais concomitantes. Nosso modelo final está na figura abaixo.

Figura: Modelo de MQO - VD: NEP

Figura

Como vemos, tanto a magnitude quanto o número de candidatos afetam positivamente o NEP. Isto é, o aumentam. Isso significa que a forma de alternância da composição da Casa, bem como as estratégias partidárias diminuem a chance de alcançar um equilíbrio duvergeriano, por um lado. Por outro lado, o grau de competitividade da eleição para os Governos estaduais também impactam o número de partidos efetivos: disputas mais competitivas para o governo estadual, aumentam o NEP do senado.

Leia mais sobre isso

Se você se interessa pelo tema, leia o artigo veja os dados e os códigos para reproduzir toda a parte empírica no meu Github ou na pasta do projeto no OSF.

Apêndice

Código para o Gráfico 1

G01 <-
ggplot(Lei3, aes(x = Ano, y = Nep)) +
  geom_smooth(color="black") +
  scale_x_continuous(limits = c(1998,2018),
                     breaks = c(1998, 2002,2006,2010,2014,2018))+
  scale_y_continuous(breaks = seq(0, 10, 0.5)) +
  theme_light(base_size = 18) +
  xlab('Eleição') +
  ylab('Número Efetivo de Partidos')

  G02 <-
  ggplot(Lei, aes(as.factor(Ano), Nep, fill = factor(Magnitude))) +
  geom_boxplot() + coord_flip() + xlab('Eleição') +
  ylab('Número Efetivo de Partidos') + scale_y_continuous(breaks = seq(0, 10, 0.5)) +
  theme_light(base_size = 18) +
  theme(legend.position = "bottom") + scale_fill_discrete(
    name = "Magnitude",
    breaks = c("Um Terço", "Dois Terços"),
    labels = c("Um Terço", "Dois Terços")
  ) +
  scale_fill_manual(
    values = c("grey45", "grey80"),
    name = "Magnitude",
    breaks = c("Um Terço", "Dois Terços"),
    labels = c("Um Terço", "Dois Terços")
  )


pushViewport(viewport(layout = grid.layout(1, 2)))
print(G01, vp = viewport(layout.pos.row = 1, layout.pos.col = 1))
print(G02, vp = viewport(layout.pos.row = 1, layout.pos.col = 2))

Código para o gráfico 2

m01 <- lm(Neplog ~ Mag + PercVotlog + Ncandlog + ConcGov + RazPerdlog, Lei)

gm1 <- ggcoef(m01, exclude_intercept = TRUE, errorbar_height = .2,
             color = 'grey', sort = "descending", size = 2, errorbar_size = 0.8)



gm1 <-
gm1 +theme_light(base_size = 19)+labs(x = "Coeficientes", y = "Variáveis")+
  scale_y_discrete(labels=c('Magnitude', 'N. Candidatos (log)',
                            'Votos Válidos (log)',  'Razão Derrotados (log)',
                            'Concentração Governador'))+
  scale_x_continuous(breaks = seq(-1.0,0.6,0.2))

comments powered by Disqus