Skip to content

Instantly share code, notes, and snippets.

@fernandobarbalho
Last active October 28, 2021 14:47
Show Gist options
  • Save fernandobarbalho/4bab8f666468604ebf9ad39155423e4d to your computer and use it in GitHub Desktop.
Save fernandobarbalho/4bab8f666468604ebf9ad39155423e4d to your computer and use it in GitHub Desktop.
Simulações de uso do pacote {siconfiBD}
# install.packages("devtools")
devtools::install_github("tchiluanda/siconfiBD")
#Atenção: Deve-se instalar ainda os pacotes tidyverse e viridis
#Esses scripts estão associados a esse fio do twitter:
#É necessário ter uma conta no google cloud
siconfiBD::setup_siconfi( <aqui_seu_projeto_google_cloud>)
#Se você quiser saber as despesas com todas as funções e sub-funções de governo para todos os municípios do Brasil para o
#ano de 2019 que é o ano default da consulta.
dados_totais_2019<- siconfiBD::get_function_expenses_municipality()
dplyr::glimpse(dados_totais_2019)
#Que tal um gráfico mostrando as quatro maiores despesas no conjunto de função e sub-função de governo na soma de
#todos os municípios em 2019?
dados_totais_2019 %>%
filter(!is.na(portaria))%>%
group_by(conta, estagio_bd) %>%
summarise(
valor_total = sum(valor)/10^9
) %>%
ungroup()%>%
slice_max(order_by = valor_total,n=12) %>%
mutate(conta = reorder(conta,valor_total)) %>%
ggplot() +
geom_col(aes(x=valor_total, y=conta, fill = estagio_bd)) +
viridis::scale_fill_viridis(discrete = TRUE)+
theme_light() +
theme(
panel.grid = element_blank(),
axis.title.y = element_blank()
) +
labs(fill= "Fase da despesa",
x= "valores em R$(bi)")
#Podemos estar interessados apenas nas despesas das sub-funções de educação em todos os municípios em 2019
dados_educacao_2019<- siconfiBD::get_function_expenses_municipality(gov_function = c("Ensino Fundamental",
"Educação Infantil",
"Educação de Jovens e Adultos"))
glimpse(dados_educacao_2019)
#Agora O gráfico que resume o que achamos na consulta anterior
dados_educacao_2019 %>%
group_by(conta, estagio_bd) %>%
summarise(
valor_total = sum(valor)/10^9
) %>%
ungroup()%>%
#slice_max(order_by = valor_total,n=12) %>%
mutate(conta = reorder(conta,valor_total)) %>%
ggplot() +
geom_col(aes(x=valor_total, y=conta, fill = estagio_bd)) +
viridis::scale_fill_viridis(discrete = TRUE)+
theme_light() +
theme(
panel.grid = element_blank(),
axis.title.y = element_blank(),
legend.position = "bottom"
) +
labs(fill= "Fase da despesa",
x= "valores em R$(bi)")
#Podemos montar uma série temporal entre 2016 e 2020 mostrando a evolução das despesas pagas para as
#funções de educação e saúde
dados_educacao_saude_2016_2020<- siconfiBD::get_function_expenses_municipality( year = 2016:2020,
gov_function = c("Educação","Saúde"),
expense_stage = "Despesas Pagas")
glimpse(dados_educacao_saude_2016_2020)
#Mais um gráfico demonstrando o resumo dos achados
dados_educacao_saude_2016_2020 %>%
group_by(ano, conta) %>%
summarise(
valor_total = sum(valor)/10^9
) %>%
ungroup()%>%
mutate(conta = reorder(conta,valor_total)) %>%
ggplot() +
geom_col(aes(x=as.factor(ano), y=valor_total, fill = conta)) +
viridis::scale_fill_viridis(discrete = TRUE)+
theme_light() +
theme(
panel.grid = element_blank(),
axis.title.x = element_blank()
) +
labs(fill= "Função",
y= "valores em R$(bi)")
#Há a possibilidade de estarmos interessados em comparar as despesas pagas com saúde e educação em um conjunto específico
#de municípios para uma série temporal de 2016 a 2020
dados_educacao_saude_2016_2020_municipios<- siconfiBD::get_function_expenses_municipality( year = 2016:2020,
municipality = c("2304400","2611606","2927408"),
gov_function = c("Educação","Saúde"),
expense_stage = "Despesas Pagas")
glimpse(dados_educacao_saude_2016_2020_municipios)
municipios<- tibble(id_municipio = c("2304400","2611606","2927408"),
municipio = c("Fortaleza", "Recife", "Salvador"))
dados_educacao_saude_2016_2020 %>%
inner_join(municipios) %>%
group_by(ano, conta, municipio) %>%
summarise(
valor_total = sum(valor)/10^9
) %>%
ungroup()%>%
mutate(conta = reorder(conta,valor_total)) %>%
ggplot() +
geom_col(aes(x=as.factor(ano), y=valor_total, fill = conta)) +
viridis::scale_fill_viridis(discrete = TRUE)+
theme_light() +
theme(
panel.grid = element_blank(),
axis.title.x = element_blank()
) +
labs(fill= "Função",
y= "valores em R$(bi)") +
facet_wrap(municipio ~.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment