Qualidade do Gasto do Governo

Estava discutindo com o @Brandizzi no twitter sobre o artigo de Lisboa e Latif, e uma questão que surgiu foi se de fato os gastos do governo no Brasil são realmente ineficientes. Essa é obviamente uma questão complexa e difícil de ser avaliada. Mas para não ficarmos sem nem uma referência para o debate, fiz uma série de gráficos a partir de dados de um trabalho de alguns economistas. Como os dados estavam em PDF, eu tive que entrar com os dados no R, e só depois fazer os gráficos. Eu não li o trabalho em detalhe para avaliar criticamente a metodologia utilizada para produzir os indicadores de qualidade dos gastos. No presente momento, só quero dar um pontapé inicial no debate.

O primeiro gráfico mostra três indicadores: eficiência do gasto com administração, capital humano e saúde, em alguns países emergentes selecionados. Clique na figura para dar zoom. E os dados são do período 1999-2003.

barplot_qualidade_gasto_gov_

O segundo gráfico apresenta apenas os indicadores para saúde, onde o Brasil esta mais bem posicionado.

barplot_qualidade_gasto_gov_saude

O terceiro gráfico apresenta os indicadores de saúde num mapa do mundo, que tem uma visualização mais bonita.

mapa_qualidade_gasto_gov_saude

Abaixo, o código em R, para quem quiser reproduzir os gráficos.

### qualidade do gasto do governo

## afonso et al
## https://www.repository.utl.pt/bitstream/10400.5/2131/1/ecbwp581.pdf

## loading libraries
require(ggplot2)
require(ggmap)
require(reshape2)
require(maps)
require(Cairo)

## setting path
setwd("D:\\2013\\Blog")

## getting data
pse <- data.frame(
  country=c("Brazil", "Bulgaria", "Chile", "Cyprus", "Czech Republic", "Estonia", "Greece", "Hungary", "Ireland", "Korea",
            "Latvia", "Lithuania", "Malta", "Mauritius", "Mexico", "Poland", "Portugal", "Romania", "Singapore", 
            "Slovak Republic", " Slovenia", "South Africa", "Thailand", "Turkey"),
  admin=c(.78, .79, 1.53, NA, .76, 1.09, .97, .83, 1.36, 1.4, .82, .83, .92, 1.21, 1.18, .89, .92, .69, 2.09, .82, .91, .93, 1.58, .96),
  humanCapi = c(.81, 1.49, 1.04, .92, 1.31, .83, 1.32, 1.12, 1.18, 1.31, .79, .88, .99, 1.04, .72, .98, .71, 1.53, NA, 1.23, NA, .54, .86, .99),
  health = c(1.15, 1, 1.7, 1.66, .66, .91, .83, .75, .84, 1.72, 1.14, .9, .68, 1.91, 1.52, .97, .66, 1.03, 2.90, .77, .68, .89, 1.68, .98)
  )

## melting data.frame
## necessary to use geom_bar with position = dodge
pseM <- melt(pse, id.vars=c("country"), measure.vars=c("admin", "humanCapi", "health"), variable.name="indicator")

## creating average score of government efficiency
## used to order data to improve visualization
## beter than order data by letter

pseM$scoreMedio <- ave(pseM$value, pseM$country,  FUN = function(x) mean(x, na.rm=T))

# ordering data
pseM$country <- reorder (pseM$country, pseM$scoreMedio) 

# only health data
pseM1 <- subset(pseM, indicator == "health")

#ordering by health indicator
pseM1$country <- reorder( pseM1$country, pseM1$value)

# first plot
p1 <- ggplot(data=pseM) + geom_bar(aes(x=country, fill=indicator, weight=value), position="dodge") + coord_flip() +
  theme(
    panel.background = element_rect(fill = "transparent",colour = NA), # or theme_blank()
    panel.grid.minor = element_blank(), 
    panel.grid.major = element_blank(),
    plot.background = element_rect(fill = "transparent",colour = NA)
  )

# saving
## using cairo to avoid aliasing problems
ggsave(p1, file="barplot_qualidade_gasto_gov_.png",  h = 9/3, w = 16/3, type = "cairo-png")

# second graphic
p2 <- ggplot(data=pseM1) + geom_bar(aes(x=country, weight=value), fill="#FF9999") + coord_flip() +
  theme(
    panel.background = element_rect(fill = "transparent",colour = NA), # or theme_blank()
    panel.grid.minor = element_blank(), 
    panel.grid.major = element_blank(),
    plot.background = element_rect(fill = "transparent",colour = NA)
  )

# saving...
ggsave(p2, file="barplot_qualidade_gasto_gov_saude.png",  h = 9/3, w = 16/3, type = "cairo-png")

## maps

## getting world map
world  = map_data("world")

## merging with data of health
world1 <- merge (world, pseM1, by.x="region", by.y="country", all.x=T, all.y=F)

# necessary to reorder. If not, map will not be plotted corrected
world1 <- world1[order(world1$order),]

m0 <- ggplot(data=world1)
# empty map (only borders)
m1 <- m0 + geom_path(aes(x=long, y=lat.x, group=group), color='gray') + coord_equal()

# fill with health expenditure data
m2 <- m1 + geom_polygon(aes(x=long, y=lat.x, group=group, fill=value))

# inverse order (to have visible borders)
m0 <- ggplot(data=world1)
m1 <- m0 + geom_polygon(aes(x=long, y=lat.x, group=group, fill=value)) + coord_equal()
m2 <- m1 + geom_path(aes(x=long, y=lat.x, group=group), color='grey', size=.1)
m2
ggsave(m2, file="mapa_qualidade_gasto_gov_saude.png",  units="cm", h = 10, w = 20, type = "cairo-png", dpi=150)

Created by Pretty R at inside-R.org

Sobre Manoel Galdino

Corinthiano, Bayesiano e Doutor em ciência Política pela USP.
Esse post foi publicado em estatística, Política e Economia e marcado , , , , , . Guardar link permanente.

Uma resposta para Qualidade do Gasto do Governo

  1. Eduardo disse:

    sério … o primeiro gráfico é terrível … faz um line graph please? O mapa é bonito (quais não são?) mas esconde os dados num mar de cinza.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s