Carregar bibliotecas necessárias
pacman::p_load(tidyverse, viridis, plotly, ggridges, gridExtra, geobr, DT, paletteer, ggcorrplot)
Dados disponíveis na Base de dados Munics-IPs. Consultá-la no repositório github
setwd("C:\\r_files\\my_academic_projects\\ippc_project_r_final")
#### Carregar os dados do IBGE
Munics_IPs <- read_csv2("Munics_IPs.csv")
#### Carregar os dados da Legenda
Munics_IPs.legenda <- read.csv2("Legenda.csv", header=FALSE, stringsAsFactors=FALSE, encoding = "UTF-8")
## Selecionar unicamente o que corresponde a Munic 2013 e 2014
# filtrar linhas pela posição na base
# Legenda
Legenda_Munic_2014 <- slice(Munics_IPs.legenda,c(695:920, 1107:1152)) # O conselho de segurança alimentar aparecia duplicado # Agora excluído o código "A913".
# Base
Munic_2014 <- select(Munics_IPs, c(A1, A545:A740,A879:A912))
# O conselho de segurança alimentar aparecia duplicado # Agora excluído o código "A913".
# Bases suas
suas <- read_csv2("censo_suas.csv") %>%
select(IBGE, Porte_pop2010, Pop_Total2010)
suas <- descr::toUTF8(suas)
# IDH
idh <- read_csv2("idh_census.csv")
Criar função de ajudar para verificar a existência de paridade nos conselhos
##existencia de paridade
paridade <- function(x){
ifelse(x%in%c("Paritário","Sim", "É paritário", "Tem maior representação da sociedade civil"),1,ifelse(x%in%c("Não", "Não paritário", "Não aplicável","Não informado", "Não soube informar", "Não sabe informar", "Recusa", "Tem maior representação governamental", "Não está em funcionamento"), 0,NA))
}
Criar função de ajudar para verificar o caráter dos conselhos
# Função válida para deliberativos, consultivos, fiscalizadores e normativos
carater <- function(x){
ifelse(x=="Sim",1,ifelse(x%in%c("Não", "Não aplicável","Não informado", "Recusa", "Não soube informar", "Não sabe informar"), 0, NA))
}
Criar tema para plotar histogramas
theme_hist <- theme(axis.text.x = element_text(size = 20, face = "bold"),
axis.text.y = element_text(size = 20, face = "bold"),
axis.title.x = element_text(size = 20, face = "bold"),
axis.title.y = element_text(size = 20, face = "bold"),
legend.position="bottom",
legend.text = element_text(size = 20),
legend.title = element_text(size = 20))
Criar tema para plotar boxplots
theme_box <- theme(axis.text.x = element_text(size = 20),
axis.text.y = element_text(size = 20),
axis.title.x = element_text(size = 20),
axis.title.y = element_text(size = 20))
Criar tema para plotar mapa
theme_map_br <- theme(panel.background = element_rect(fill = "transparent"),
panel.grid.major = element_line(color = "transparent"),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
legend.position = c(0.4, 0.4),
legend.justification = c(1, 1),
legend.background = element_blank(),
legend.text = element_text(size = 20),
legend.title = element_text(size=20),
plot.title=element_text( hjust=0, vjust=-5, face='bold'))
Verificar número de conselhos por município
Visualizar nomes e códigos dos conselhos
## Criar índice para selecionar unicamente a pergunta "O municipio possui Conselho Municipal...?"
##Coluna V3
index_cons <- str_which(Legenda_Munic_2014$V3,"possui Conselho Municipal")
### Usar o índice para selecionar as linhas.
Conselhos_lista <- slice(Legenda_Munic_2014,index_cons)
## Usar a coluna V17 que possui os códigos da base de dados
Conselhos_codigo_nomes <- Conselhos_lista %>%
select(V3, V17)#identificamos os códigos de cada conselho
# Usar V3 para extrair o nome do conselho
Conselhos_codigo_nomes <- Conselhos_codigo_nomes %>%
mutate(nomes = str_remove(V3, "O município possui Conselho Municipal d(e?o?s?) ?"),
nomes = str_remove(nomes, "\\?"),
nomes = str_trunc(nomes, 25)) %>%
select(nomes, cod = V17) %>%
filter(!cod %in% c("A607", "A615", "A724") )
Conselhos_codigo_nomes
## nomes cod
## 1 Meio Ambiente A545
## 2 Direitos da Mulher A553
## 3 Educação A587
## 4 Saúde A623
## 5 Direitos Humanos ou si... A633
## 6 Direitos da Criança e ... A641
## 7 Igualdade Racial ou si... A649
## 8 Direitos do Idoso ou s... A657
## 9 Direitos da Pessoa com... A665
## 10 Direitos de Lésbicas, ... A673
## 11 Direitos da Juventude ... A681
## 12 Segurança Pública A715
## 13 Segurança Alimentar A732
## 14 Assistência Social A891
##Selecionamos apenas as colunas correspondentes a "possui Conselho?"
Munic_2014_Conselhos <- select(Munic_2014,A1, Conselhos_codigo_nomes$cod)
### Excluir conselhos da alimentacao escolar, transporte escolar e defesa civil
#Munic_2014_Conselhos <- select(Munic_2014_Conselhos, -c(A607, A615, A724))
Plotar:
Visão geral
Verificação da aplicação
Sumário da distribuição do número de conselhos
Tabela simples da distribuição do número de conselhos
##Transformar os dados em indicadores.
# Efetuar soma para determinar o número de conselhos de cada municipio
Numero_conselhos <- Munic_2014_Conselhos %>%
mutate_at(vars(2:15), funs(ifelse(.=="Sim",1,0))) %>%
mutate(Num_conselhos = rowSums(select(., -A1)))
# Visão geral
glimpse(Numero_conselhos)
## Observations: 5,570
## Variables: 16
## $ A1 <dbl> 110001, 110002, 110003, 110004, 110005, 110006, 11000...
## $ A545 <dbl> 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1,...
## $ A553 <dbl> 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,...
## $ A587 <dbl> 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0,...
## $ A623 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ A633 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,...
## $ A641 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ A649 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,...
## $ A657 <dbl> 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0,...
## $ A665 <dbl> 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,...
## $ A673 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ A681 <dbl> 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ A715 <dbl> 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,...
## $ A732 <dbl> 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0,...
## $ A891 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9, ...
# Verificar aplicação (se todas as variaveis contem apenas os números 0 e 1)
apply(Numero_conselhos[2:15], 2, unique)
## A545 A553 A587 A623 A633 A641 A649 A657 A665 A673 A681 A715 A732 A891
## [1,] 1 0 0 1 0 1 0 1 0 0 0 1 1 1
## [2,] 0 1 1 0 1 0 1 0 1 1 1 0 0 0
# Verificar valores
summary(Numero_conselhos$Num_conselhos)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 5.000 6.000 6.163 7.000 14.000
# Tabular valores para verificação
data.frame(table(Numero_conselhos$Num_conselhos))
## Var1 Freq
## 1 0 1
## 2 1 1
## 3 2 6
## 4 3 180
## 5 4 664
## 6 5 1377
## 7 6 1380
## 8 7 850
## 9 8 529
## 10 9 283
## 11 10 136
## 12 11 106
## 13 12 44
## 14 13 10
## 15 14 3
Visualização
hist_1 <- ggplot(Numero_conselhos, aes(Num_conselhos)) +
geom_histogram(binwidth = 1, fill = "white", color = "black") +
ggtitle("Histogram 1", subtitle = "Number of councils per municipality")+
xlab("Number of councils") + ylab("Number of municipalities")+
scale_y_continuous(limits = c(0,1550), breaks = seq(0,1500, 250))+
#scale_x_continuous(limits = c(0, 18), breaks = seq(0, 20, 5))+
theme_classic() +
theme_hist
hist_1
Visualização
table_Num_Conselhos <- Numero_conselhos %>%
select(-A1) %>%
summarise_all(sum) %>%
gather() %>%
arrange(desc(value)) %>%
left_join(Conselhos_codigo_nomes, by = c("key" = "cod")) %>%
select(nomes, key, N_conselhos = value)
table_Num_Conselhos
## # A tibble: 15 x 3
## nomes key N_conselhos
## <chr> <chr> <dbl>
## 1 <NA> Num_conselhos 34329
## 2 Assistência Social A891 5562
## 3 Saúde A623 5556
## 4 Direitos da Criança e ... A641 5481
## 5 Educação A587 4874
## 6 Meio Ambiente A545 3785
## 7 Direitos do Idoso ou s... A657 3450
## 8 Segurança Alimentar A732 1629
## 9 Direitos da Pessoa com... A665 1093
## 10 Direitos da Mulher A553 976
## 11 Segurança Pública A715 691
## 12 Direitos da Juventude ... A681 608
## 13 Direitos Humanos ou si... A633 323
## 14 Igualdade Racial ou si... A649 280
## 15 Direitos de Lésbicas, ... A673 21
#write_excel_csv2(table_Num_Cons, "Num. Conselhos.csv")
Visualização
# IDH
idh <- idh %>%
filter(ANO == "2010") %>%
select(Codmun6, IDHM) %>%
mutate(Codmun6 = as.numeric(Codmun6))
# #seleção das variaveis auxiliares
# Junção da suas
# Junção do idh
Conselhos_Munic <- Munics_IPs %>%
select(A1:B6) %>%
left_join(suas, by = c("A1" = "IBGE")) %>%
left_join(idh, by = c("A1" = "Codmun6"))
#Junção das bases
Conselhos_Munic <- Conselhos_Munic %>%
left_join(select(Numero_conselhos, A1, Num_conselhos))
glimpse(Conselhos_Munic)
## Observations: 5,570
## Variables: 12
## $ A1 <dbl> 110001, 110002, 110003, 110004, 110005, 110006, 11000...
## $ A1a <dbl> 1100015, 1100023, 1100031, 1100049, 1100056, 1100064,...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIXI", "CACOA...
## $ B2 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 1...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO",...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 - Norte", "...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 500000", "2 - ...
## $ B6 <dbl> 25578, 104401, 6355, 87226, 17986, 18817, 8842, 16651...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio", "Pequeno...
## $ Pop_Total2010 <dbl> 24392, 90353, 6313, 78574, 17029, 18591, 8783, 13678,...
## $ IDHM <dbl> 0.641, 0.702, 0.650, 0.718, 0.692, 0.685, 0.613, 0.61...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9, ...
Calcular a existência de paridade nos conselhos
#####################################################################
########### 2. Existencia de paridade nesse colegiados ##############
#####################################################################
## Criar índice para selecionar unicamente a pergunta "O conselho e paritario?"
index_pari <- str_which(Legenda_Munic_2014$V4,"paritário") ##Coluna V4
## usar a coluna V17 que possui os codigos da base de dados
Paridade_lista <- slice(Legenda_Munic_2014,index_pari)
#identificar os codigos de pergunta
Paridade_codigo <- Paridade_lista %>%
select(V17) %>%
filter(!V17 %in% c("A609", "A617", "A726")) %>%
mutate(cod_nomes = Conselhos_codigo_nomes$cod)
## Sel. apenas as colunas correspondentes a "O Conselho e paritario?"
Munic_2014_Paridade <- select(Munic_2014, A1, Paridade_codigo$V17)
# Verificar rótulos
#sapply(Munic_2014_Paridade[2:18], FUN = unique) # Há um erro de digitação Naão sabe
Munic_2014_Paridade$A547[1] <- "Não sabe informar"
### Excluir conselhos da alimentacao escolar, transporte escolar e defesa civil
#Munic_2014_Paridade <- select(Munic_2014_Paridade, -c(A609, A617, A726))
Plotar:
Visão geral
Verificação da aplicação
Sumário da distribuição do número de conselhos
Tabela simples da distribuição do número de conselhos
##Transformar dados em indicadores.
# Efetuamos a soma para determinar o numero de conselhos paritarios de cada municipio
Paridade_pond <- Munic_2014_Paridade %>%
mutate_at(vars(2:15), funs(paridade(.))) %>%
mutate(Paridade = rowSums(select(., -A1)))
### Juntar estes valores de paridade com a suas repectivos municipios
# Utilizar a tabela anterior 'Conselhos _Munic' que ja contem o numero de conselhos (deve primerio correr o indicador 1)
Paridade_Munic <- Conselhos_Munic %>%
left_join(select(Paridade_pond, A1, Paridade))
Paridade_Munic <- Paridade_Munic %>%
mutate(A1 = as.character(A1))
#Paridade_Munic <- Paridade_Munic %>%
# mutate(A1 = as.character(A1))
# Visão geral
glimpse(Paridade_Munic)
## Observations: 5,570
## Variables: 13
## $ A1 <chr> "110001", "110002", "110003", "110004", "110005", "11...
## $ A1a <dbl> 1100015, 1100023, 1100031, 1100049, 1100056, 1100064,...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIXI", "CACOA...
## $ B2 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 1...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO",...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 - Norte", "...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 500000", "2 - ...
## $ B6 <dbl> 25578, 104401, 6355, 87226, 17986, 18817, 8842, 16651...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio", "Pequeno...
## $ Pop_Total2010 <dbl> 24392, 90353, 6313, 78574, 17029, 18591, 8783, 13678,...
## $ IDHM <dbl> 0.641, 0.702, 0.650, 0.718, 0.692, 0.685, 0.613, 0.61...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9, ...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, 5, 3, 8, 4...
# Verificação da aplicação
apply(Paridade_pond[2:16], 2, FUN = unique)
## $A547
## [1] 0 1
##
## $A555
## [1] 0 1
##
## $A589
## [1] 0 1
##
## $A625
## [1] 1 0
##
## $A635
## [1] 0 1
##
## $A643
## [1] 1 0
##
## $A651
## [1] 0 1
##
## $A659
## [1] 1 0
##
## $A667
## [1] 0 1
##
## $A675
## [1] 0 1
##
## $A683
## [1] 0 1
##
## $A717
## [1] 0 1
##
## $A734
## [1] 1 0
##
## $A893
## [1] 1 0
##
## $Paridade
## [1] 5 11 9 6 3 7 8 4 2 10 0 12 14 1 13
# Sumário
summary(Paridade_Munic$Paridade)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 5.000 6.000 5.834 7.000 14.000
# Tabela de frequencia
data.frame(table(Paridade_Munic$Paridade))
## Var1 Freq
## 1 0 1
## 2 1 2
## 3 2 30
## 4 3 276
## 5 4 833
## 6 5 1479
## 7 6 1316
## 8 7 774
## 9 8 462
## 10 9 214
## 11 10 106
## 12 11 50
## 13 12 23
## 14 13 2
## 15 14 2
Visualização
# Histograma
hist_2 <- ggplot(Paridade_Munic, aes(Paridade)) +
geom_histogram(binwidth = 1, fill = "white", color = "black") +
ggtitle("Histograma 2", subtitle = "Num. Cons. paritários, qtdd por Município")+
xlab("Núm. de cons. paritários") + ylab("")+
scale_y_continuous(limits = c(0,1550), breaks = seq(0,1500, 250))+
#scale_x_continuous(limits = c(0,18), breaks = seq(0, 20, 5))+
theme_classic()+
theme_hist
hist_2
Visualização
table_Num_pari <- Paridade_pond %>%
select(-A1) %>%
summarise_all(sum)%>%
gather() %>%
arrange(desc(value)) %>%
left_join(Paridade_codigo, by = c("key" = "V17")) %>%
left_join(Conselhos_codigo_nomes, by = c("cod_nomes" = "cod")) %>%
select(nomes, key, N_Paritários = value)
table_Num_pari
## # A tibble: 15 x 3
## nomes key N_Paritários
## <chr> <chr> <dbl>
## 1 <NA> Paridade 32493
## 2 Assistência Social A893 5515
## 3 Saúde A625 5429
## 4 Direitos da Criança e ... A643 5378
## 5 Educação A589 4496
## 6 Meio Ambiente A547 3503
## 7 Direitos do Idoso ou s... A659 3365
## 8 Segurança Alimentar A734 1199
## 9 Direitos da Pessoa com... A667 1042
## 10 Direitos da Mulher A555 890
## 11 Segurança Pública A717 561
## 12 Direitos da Juventude ... A683 534
## 13 Direitos Humanos ou si... A635 304
## 14 Igualdade Racial ou si... A651 257
## 15 Direitos de Lésbicas, ... A675 20
Visualização dos rótulos
#3.1. Criar indice para selecionar unicamente a pergunta "Deliberativo"
##Coluna V5 inclui o caráter do conselho
index_deli <- str_which(Legenda_Munic_2014$V5,"Deliberativo")
## Usar a coluna V17 que possui os códigos da base de dados
Delib_lista <- slice(Legenda_Munic_2014,index_deli)
#identificar códigos de pergunta
Delib_codigo <- Delib_lista$V17
# Nomes
Delib_codigo_nomes <- Delib_lista %>%
select(V17) %>%
filter(!V17 %in% c("A611", "A619", "A728")) %>%
mutate(cod_nomes = Conselhos_codigo_nomes$cod)
##Selecionamos apenas as colunas correspondentes a "Deliberativo"
Munic_2014_Delib <- select(Munic_2014, A1, Delib_codigo_nomes$V17)
### Excluir conselhos da alimentacao escolar, transporte escolar e defesa civil
#Munic_2014_Delib <- select(Munic_2014_Delib) # -c(A611, A619, A728)
sapply(Munic_2014_Delib[2:15], 2, FUN = unique)
## $A549
## [1] "Sim" "Não aplicável" "Não"
## [4] "Recusa" "Não sabe informar"
##
## $A557
## [1] "Não aplicável" "Sim" "Não" "Recusa"
##
## $A591
## [1] "Não aplicável" "Sim" "Não" "Não informado"
## [5] "Recusa"
##
## $A627
## [1] "Sim" "Não" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A637
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A645
## [1] "Sim" "Não" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A653
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A661
## [1] "Sim" "Não aplicável" "Não" "Não informado"
## [5] "Recusa"
##
## $A669
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A677
## [1] "Não aplicável" "Recusa" "Sim" "Não"
## [5] "Não informado"
##
## $A685
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A719
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A736
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A897
## [1] "Sim" "Não" "Não aplicável" "Recusa"
Plotar:
Visão geral
Verificação da aplicação
Sumário da distribuição do número de conselhos
Tabela simples da distribuição do número de conselhos
##Transfor os dados em indicadores
#efetuar a soma para determinar o número de conselhos deliberativos
Delib_pond <- Munic_2014_Delib %>%
mutate_at(vars(2:15), funs(carater(.)))%>%
mutate(Deliberativos = rowSums(select(., -A1)))
# Visão geral
glimpse(Delib_pond)
## Observations: 5,570
## Variables: 16
## $ A1 <dbl> 110001, 110002, 110003, 110004, 110005, 110006, 11000...
## $ A549 <dbl> 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1,...
## $ A557 <dbl> 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,...
## $ A591 <dbl> 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0,...
## $ A627 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1,...
## $ A637 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,...
## $ A645 <dbl> 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ A653 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,...
## $ A661 <dbl> 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0,...
## $ A669 <dbl> 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,...
## $ A677 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ A685 <dbl> 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ A719 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,...
## $ A736 <dbl> 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0,...
## $ A897 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, 5, 5, 8, 4...
# Verificação da aplicação
apply(Delib_pond[2:16], 2, unique)
## $A549
## [1] 1 0
##
## $A557
## [1] 0 1
##
## $A591
## [1] 0 1
##
## $A627
## [1] 1 0
##
## $A637
## [1] 0 1
##
## $A645
## [1] 1 0
##
## $A653
## [1] 0 1
##
## $A661
## [1] 1 0
##
## $A669
## [1] 0 1
##
## $A677
## [1] 0 1
##
## $A685
## [1] 0 1
##
## $A719
## [1] 0 1
##
## $A736
## [1] 0 1
##
## $A897
## [1] 1 0
##
## $Deliberativos
## [1] 5 11 9 2 3 6 4 8 10 7 1 0 12 13
# Summary
summary(Delib_pond$Deliberativos)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 4.000 5.000 5.304 6.000 13.000
# Tabela
data.frame(table(Delib_pond$Deliberativos))
## Var1 Freq
## 1 0 5
## 2 1 47
## 3 2 160
## 4 3 556
## 5 4 1069
## 6 5 1428
## 7 6 1087
## 8 7 601
## 9 8 348
## 10 9 162
## 11 10 67
## 12 11 32
## 13 12 7
## 14 13 1
Visualizar
##Adicionamos os valores da tabela "Paridade_Munic"
Delib_pond <- Delib_pond %>%
mutate(A1 = as.character(A1))
Delib_Munic <- Paridade_Munic %>%
left_join(select(Delib_pond, A1, Deliberativos))
glimpse(Delib_Munic)
## Observations: 5,570
## Variables: 14
## $ A1 <chr> "110001", "110002", "110003", "110004", "110005", "11...
## $ A1a <dbl> 1100015, 1100023, 1100031, 1100049, 1100056, 1100064,...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIXI", "CACOA...
## $ B2 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 1...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO",...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 - Norte", "...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 500000", "2 - ...
## $ B6 <dbl> 25578, 104401, 6355, 87226, 17986, 18817, 8842, 16651...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio", "Pequeno...
## $ Pop_Total2010 <dbl> 24392, 90353, 6313, 78574, 17029, 18591, 8783, 13678,...
## $ IDHM <dbl> 0.641, 0.702, 0.650, 0.718, 0.692, 0.685, 0.613, 0.61...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9, ...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, 5, 3, 8, 4...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, 5, 5, 8, 4...
### Histogram deliberativos
hist_3 <- ggplot(Delib_pond, aes(Deliberativos)) +
geom_histogram(binwidth = 1, fill= "white", color="black") +
xlab("Núm. de cons. deliberativos") + ylab("")+
scale_y_continuous(limits = c(0,1550), breaks = seq(0,1500, 250))+
scale_x_continuous(limits = c(0,18), breaks = seq(0, 20, 5))+
ggtitle("Histograma 3", subtitle = "Num. Cons. deliberativos, qtdd por Município")+
theme_classic()+
theme_hist
hist_3
table_Num_del <- Delib_pond %>%
select(-A1) %>%
summarise_all(sum)%>%
gather() %>%
arrange(desc(value))%>%
left_join(Delib_codigo_nomes, by = c("key" = "V17")) %>%
left_join(Conselhos_codigo_nomes, by = c("cod_nomes" = "cod")) %>%
select(nomes, key, N_Deliberativos = value)
table_Num_del
## # A tibble: 15 x 3
## nomes key N_Deliberativos
## <chr> <chr> <dbl>
## 1 <NA> Deliberativos 29541
## 2 Assistência Social A897 5335
## 3 Saúde A627 5006
## 4 Direitos da Criança e ... A645 4916
## 5 Educação A591 4101
## 6 Meio Ambiente A549 3238
## 7 Direitos do Idoso ou s... A661 2939
## 8 Segurança Alimentar A736 994
## 9 Direitos da Pessoa com... A669 907
## 10 Direitos da Mulher A557 731
## 11 Segurança Pública A719 436
## 12 Direitos da Juventude ... A685 434
## 13 Direitos Humanos ou si... A637 278
## 14 Igualdade Racial ou si... A653 211
## 15 Direitos de Lésbicas, ... A677 15
#write_excel_csv2(table_Num_del, "Num. deliberativos.csv")
Visualizar rótulos
# Mesmo procedimento anterior
index_consul <- str_which(Legenda_Munic_2014$V5,"Consultivo")
Consul_lista <- slice(Legenda_Munic_2014,index_consul)
Consul_codigo <- Consul_lista$V17
# Nomes conselhos
Consul_codigo_nomes <- Consul_lista %>%
select(V17) %>%
filter(!V17 %in% c("A610", "A618", "A727")) %>%
mutate(cod_nomes = Conselhos_codigo_nomes$cod)
#
Munic_2014_Consul <- select(Munic_2014, A1, Consul_codigo_nomes$V17)
### Excluir conselhos da alimentacao escolar, transporte escolar e defesa civil
#Munic_2014_Consul <- select(Munic_2014_Consul, -c(A610, A618, A727))
apply(Munic_2014_Consul[2:15], 2, FUN = unique)
## $A548
## [1] "Sim" "Não" "Não aplicável"
## [4] "Recusa" "Não sabe informar"
##
## $A556
## [1] "Não aplicável" "Sim" "Não" "Recusa"
##
## $A590
## [1] "Não aplicável" "Sim" "Não" "Não informado"
## [5] "Recusa"
##
## $A626
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A636
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A644
## [1] "Sim" "Não" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A652
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A660
## [1] "Sim" "Não" "Não aplicável" "Não informado"
## [5] "Recusa"
##
## $A668
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A676
## [1] "Não aplicável" "Recusa" "Sim" "Não"
## [5] "Não informado"
##
## $A684
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A718
## [1] "Sim" "Não aplicável" "Não" "Recusa"
## [5] "Não informado"
##
## $A735
## [1] "Sim" "Não aplicável" "Não" "Recusa"
## [5] "Não informado"
##
## $A896
## [1] "Sim" "Não" "Não aplicável" "Recusa"
Plotar:
Visão geral
Verificação da aplicação
Sumário da distribuição do número de conselhos
Tabela simples da distribuição do número de conselhos
## Transformar dados em indicadores
# efetuamos a soma para determinar o número de conselhos consultivos
Consul_pond <- Munic_2014_Consul%>%
mutate_at(vars(2:15),funs(carater(.)))%>%
mutate(Consultivos = rowSums(select(., -A1)))
# Visão geral
glimpse(Consul_pond)
## Observations: 5,570
## Variables: 16
## $ A1 <dbl> 110001, 110002, 110003, 110004, 110005, 110006, 110007,...
## $ A548 <dbl> 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0...
## $ A556 <dbl> 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0...
## $ A590 <dbl> 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0...
## $ A626 <dbl> 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0...
## $ A636 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0...
## $ A644 <dbl> 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0...
## $ A652 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0...
## $ A660 <dbl> 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0...
## $ A668 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0...
## $ A676 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ A684 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ A718 <dbl> 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0...
## $ A735 <dbl> 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0...
## $ A896 <dbl> 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, 5, 3, 7, 3, ...
# Verificar aplicação
apply(Consul_pond[2:16], 2, unique)
## $A548
## [1] 1 0
##
## $A556
## [1] 0 1
##
## $A590
## [1] 0 1
##
## $A626
## [1] 0 1
##
## $A636
## [1] 0 1
##
## $A644
## [1] 1 0
##
## $A652
## [1] 0 1
##
## $A660
## [1] 1 0
##
## $A668
## [1] 0 1
##
## $A676
## [1] 0 1
##
## $A684
## [1] 0 1
##
## $A718
## [1] 1 0
##
## $A735
## [1] 1 0
##
## $A896
## [1] 1 0
##
## $Consultivos
## [1] 6 10 0 4 5 2 1 3 7 8 11 9 14 12 13
# Sumário
summary(Consul_pond$Consultivos)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 3.000 4.000 4.282 6.000 14.000
# Tabela
data.frame(table(Consul_pond$Consultivos))
## Var1 Freq
## 1 0 80
## 2 1 341
## 3 2 661
## 4 3 1039
## 5 4 1109
## 6 5 893
## 7 6 666
## 8 7 379
## 9 8 218
## 10 9 106
## 11 10 51
## 12 11 18
## 13 12 6
## 14 13 1
## 15 14 2
Visualizar
Consul_pond <- Consul_pond %>%
mutate(A1 = as.character(A1))
##Adicionamos os valores na tabela "Delib_Munic"
Consul_Munic <- Delib_Munic %>%
left_join(select(Consul_pond, A1, Consultivos))
glimpse(Consul_Munic)
## Observations: 5,570
## Variables: 15
## $ A1 <chr> "110001", "110002", "110003", "110004", "110005", "11...
## $ A1a <dbl> 1100015, 1100023, 1100031, 1100049, 1100056, 1100064,...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIXI", "CACOA...
## $ B2 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 1...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO",...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 - Norte", "...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 500000", "2 - ...
## $ B6 <dbl> 25578, 104401, 6355, 87226, 17986, 18817, 8842, 16651...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio", "Pequeno...
## $ Pop_Total2010 <dbl> 24392, 90353, 6313, 78574, 17029, 18591, 8783, 13678,...
## $ IDHM <dbl> 0.641, 0.702, 0.650, 0.718, 0.692, 0.685, 0.613, 0.61...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9, ...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, 5, 3, 8, 4...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, 5, 5, 8, 4...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, 5, 3, 7, 3...
### Histogram Consultivos
hist_4 <- ggplot(Consul_pond, aes(Consultivos)) +
geom_histogram(binwidth = 1, fill= "white", color="black") +
ggtitle("Histograma 4", subtitle = "Nº Conselhos consultivos, qtdd por Município")+
xlab("Núm. de cons. consultivos") + ylab("Número de Municípios")+
scale_y_continuous(limits = c(0,1550), breaks = seq(0,1500, 250))+
#scale_x_continuous(limits = c(0,18), breaks = seq(0, 20, 5)) +
theme_classic()+
theme_hist
hist_4
## table
table_Num_Consultivos <- Consul_pond %>%
select(-A1) %>%
summarise_all(sum)%>%
gather() %>%
arrange(desc(value))%>%
left_join(Consul_codigo_nomes, by = c("key" = "V17")) %>%
left_join(Conselhos_codigo_nomes, by = c("cod_nomes" = "cod")) %>%
select(nomes, key, N_consultivos = value)
table_Num_Consultivos
## # A tibble: 15 x 3
## nomes key N_consultivos
## <chr> <chr> <dbl>
## 1 <NA> Consultivos 23849
## 2 Educação A590 4166
## 3 Direitos da Criança e ... A644 3394
## 4 Saúde A626 3302
## 5 Assistência Social A896 3261
## 6 Meio Ambiente A548 3064
## 7 Direitos do Idoso ou s... A660 2431
## 8 Segurança Alimentar A735 1308
## 9 Direitos da Pessoa com... A668 772
## 10 Direitos da Mulher A556 710
## 11 Direitos da Juventude ... A684 497
## 12 Segurança Pública A718 495
## 13 Direitos Humanos ou si... A636 222
## 14 Igualdade Racial ou si... A652 212
## 15 Direitos de Lésbicas, ... A676 15
#write_excel_csv2(table_Num_Cons, "table_Num_Cons.csv")
Visualização dos rótulos
##3.3. indice para selecionar unicamente a opção "Normativo"
# Mesmo procedimento
index_norma <- str_which(Legenda_Munic_2014$V5,"Normativo")
Norma_lista <- slice(Legenda_Munic_2014,index_norma)
Norma_codigo <- Norma_lista$V17
# Nomes
Norma_codigo_nomes <- Norma_lista %>%
select(V17) %>%
filter(!V17 %in% c("A612", "A620", "A729")) %>%
mutate(cod_nomes = Conselhos_codigo_nomes$cod)
Munic_2014_Norma <- select(Munic_2014,A1, Norma_codigo_nomes$V17)
### Excluir conselhos da alimentacao escolar, transporte escolar e defesa civil
#Munic_2014_Norma <- select(Munic_2014_Norma, -c(A612, A620, A729))
sapply(Munic_2014_Norma[2:15], 2, FUN = unique)
## $A550
## [1] "Não" "Não aplicável" "Sim"
## [4] "Recusa" "Não sabe informar"
##
## $A558
## [1] "Não aplicável" "Sim" "Não" "Recusa"
##
## $A592
## [1] "Não aplicável" "Sim" "Não" "Não informado"
## [5] "Recusa"
##
## $A628
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A638
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A646
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A654
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A662
## [1] "Não" "Sim" "Não aplicável" "Não informado"
## [5] "Recusa"
##
## $A670
## [1] "Não aplicável" "Não" "Sim" "Recusa"
## [5] "Não informado"
##
## $A678
## [1] "Não aplicável" "Recusa" "Não" "Sim"
## [5] "Não informado"
##
## $A686
## [1] "Não aplicável" "Não" "Sim" "Recusa"
## [5] "Não informado"
##
## $A720
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A737
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A898
## [1] "Sim" "Não" "Não aplicável" "Recusa"
Plotar:
Visão geral
Verificação da aplicação
Sumário da distribuição do número de conselhos
Tabela simples da distribuição do número de conselhos
##Transformamos os dados em indicadores
Norma_pond <- Munic_2014_Norma %>%
mutate_at(vars(2:15), funs(carater(.)))%>%
mutate(Normativos = rowSums(select(., - A1)))
# Visão geral
glimpse(Norma_pond)
## Observations: 5,570
## Variables: 16
## $ A1 <dbl> 110001, 110002, 110003, 110004, 110005, 110006, 110007, ...
## $ A550 <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,...
## $ A558 <dbl> 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0,...
## $ A592 <dbl> 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0,...
## $ A628 <dbl> 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0,...
## $ A638 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,...
## $ A646 <dbl> 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0,...
## $ A654 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,...
## $ A662 <dbl> 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0,...
## $ A670 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0,...
## $ A678 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ A686 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ A720 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,...
## $ A737 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,...
## $ A898 <dbl> 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0,...
## $ Normativos <dbl> 1, 8, 0, 3, 6, 2, 1, 5, 1, 5, 1, 6, 1, 5, 5, 3, 7, 4, 0,...
# Verificação da aplicação
apply(Norma_pond[2:16], 2, unique)
## $A550
## [1] 0 1
##
## $A558
## [1] 0 1
##
## $A592
## [1] 0 1
##
## $A628
## [1] 0 1
##
## $A638
## [1] 0 1
##
## $A646
## [1] 0 1
##
## $A654
## [1] 0 1
##
## $A662
## [1] 0 1
##
## $A670
## [1] 0 1
##
## $A678
## [1] 0 1
##
## $A686
## [1] 0 1
##
## $A720
## [1] 0 1
##
## $A737
## [1] 0 1
##
## $A898
## [1] 1 0
##
## $Normativos
## [1] 1 8 0 3 6 2 5 7 4 10 9 11 12
# Summários
summary(Norma_pond$Normativos)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 2.000 3.000 3.058 4.000 12.000
# Tabela
data.frame(table(Norma_pond$Normativos))
## Var1 Freq
## 1 0 320
## 2 1 845
## 3 2 1199
## 4 3 1159
## 5 4 887
## 6 5 607
## 7 6 304
## 8 7 135
## 9 8 80
## 10 9 21
## 11 10 10
## 12 11 2
## 13 12 1
Visualizar
Norma_pond <- Norma_pond %>%
mutate(A1 = as.character(A1))
##Adicionamos os valores na tabela "Delib_Munic"
Norma_Munic <- Consul_Munic %>%
left_join(select(Norma_pond, A1, Normativos))
glimpse(Norma_Munic)
## Observations: 5,570
## Variables: 16
## $ A1 <chr> "110001", "110002", "110003", "110004", "110005", "11...
## $ A1a <dbl> 1100015, 1100023, 1100031, 1100049, 1100056, 1100064,...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIXI", "CACOA...
## $ B2 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 1...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO",...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 - Norte", "...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 500000", "2 - ...
## $ B6 <dbl> 25578, 104401, 6355, 87226, 17986, 18817, 8842, 16651...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio", "Pequeno...
## $ Pop_Total2010 <dbl> 24392, 90353, 6313, 78574, 17029, 18591, 8783, 13678,...
## $ IDHM <dbl> 0.641, 0.702, 0.650, 0.718, 0.692, 0.685, 0.613, 0.61...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9, ...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, 5, 3, 8, 4...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, 5, 5, 8, 4...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, 5, 3, 7, 3...
## $ Normativos <dbl> 1, 8, 0, 3, 6, 2, 1, 5, 1, 5, 1, 6, 1, 5, 5, 3, 7, 4,...
### Histogram normativos
hist_5 <- ggplot(Norma_pond, aes(Normativos)) +
geom_histogram(binwidth = 1, fill= "white", color="black") +
ggtitle("Histograma 5", subtitle = "Num. cons. normativos, qtdd por Município")+
xlab("Núm. de cons. normativos") + ylab("")+
scale_y_continuous(limits = c(0,1550), breaks = seq(0,1500, 250))+
scale_x_continuous(limits = c(0,18), breaks = seq(0, 20, 5)) +
theme_classic()+
theme_hist
hist_5
# Table
table_Num_Norma <- Norma_pond %>%
select(-A1) %>%
summarise_all(sum)%>%
gather() %>%
arrange(desc(value))%>%
left_join(Norma_codigo_nomes, by = c("key" = "V17")) %>%
left_join(Conselhos_codigo_nomes, by = c("cod_nomes" = "cod")) %>%
select(nomes, key, N_Normativos = value)
table_Num_Norma
## # A tibble: 15 x 3
## nomes key N_Normativos
## <chr> <chr> <dbl>
## 1 <NA> Normativos 17035
## 2 Educação A592 3270
## 3 Assistência Social A898 3055
## 4 Direitos da Criança e ... A646 2805
## 5 Saúde A628 2586
## 6 Meio Ambiente A550 1612
## 7 Direitos do Idoso ou s... A662 1598
## 8 Segurança Alimentar A737 522
## 9 Direitos da Pessoa com... A670 471
## 10 Direitos da Mulher A558 406
## 11 Direitos da Juventude ... A686 229
## 12 Segurança Pública A720 195
## 13 Direitos Humanos ou si... A638 162
## 14 Igualdade Racial ou si... A654 115
## 15 Direitos de Lésbicas, ... A678 9
# write_excel_csv2(table_Num_Norma, "table_Num_Norma.csv")
Visualização dos rótulos
##3.4. indice para selecionar unicamente a opção "Fiscalizador"
# Mesmo procedimento
index_fisca <- str_which(Legenda_Munic_2014$V5,"Fiscalizador")
Fisca_lista <- slice(Legenda_Munic_2014,index_fisca)
Fisca_codigo <- Fisca_lista$V17
# Nomes
Fisca_codigo_nomes <- Fisca_lista %>%
select(V17) %>%
filter(!V17 %in% c("A613", "A621", "A730")) %>%
mutate(cod_nomes = Conselhos_codigo_nomes$cod)
#
Munic_2014_Fisca <- select(Munic_2014, A1, Fisca_codigo_nomes$V17)
### Excluir conselhos da alimentacao escolar, transporte escolar e defesa civil
#Munic_2014_Fisca <- select(Munic_2014_Fisca, -c(A613, A621, A730))
sapply(Munic_2014_Fisca[2:15], 2, FUN = unique)
## $A551
## [1] "Sim" "Não" "Não aplicável"
## [4] "Recusa" "Não sabe informar"
##
## $A559
## [1] "Não aplicável" "Sim" "Não" "Recusa"
##
## $A593
## [1] "Não aplicável" "Não" "Sim" "Não informado"
## [5] "Recusa"
##
## $A629
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A639
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A647
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A655
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A663
## [1] "Não" "Sim" "Não aplicável" "Não informado"
## [5] "Recusa"
##
## $A671
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A679
## [1] "Não aplicável" "Recusa" "Sim" "Não"
## [5] "Não informado"
##
## $A687
## [1] "Não aplicável" "Sim" "Não" "Recusa"
## [5] "Não informado"
##
## $A721
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A738
## [1] "Não" "Sim" "Não aplicável" "Recusa"
## [5] "Não informado"
##
## $A899
## [1] "Sim" "Não" "Não aplicável" "Recusa"
Plotar:
Visão geral
Verificação da aplicação
Sumário da distribuição do número de conselhos
Tabela simples da distribuição do número de conselhos
##Transformamos os dados em indicadores
# Efetuar a soma para determinar o número de conselhos fiscalizadores
Fisca_pond <- Munic_2014_Fisca %>%
mutate_at(vars(2:15),funs(carater(.)))%>%
mutate(Fiscalizadores = rowSums(select(., - A1)))
# Visão geral
glimpse(Fisca_pond)
## Observations: 5,570
## Variables: 16
## $ A1 <dbl> 110001, 110002, 110003, 110004, 110005, 110006, 1100...
## $ A551 <dbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1...
## $ A559 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0...
## $ A593 <dbl> 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0...
## $ A629 <dbl> 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1...
## $ A639 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0...
## $ A647 <dbl> 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1...
## $ A655 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0...
## $ A663 <dbl> 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0...
## $ A671 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0...
## $ A679 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ A687 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ A721 <dbl> 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0...
## $ A738 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0...
## $ A899 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1...
## $ Fiscalizadores <dbl> 2, 9, 4, 3, 4, 3, 2, 5, 3, 6, 4, 4, 2, 6, 5, 4, 8, 4...
# Verificação da aplicação
apply(Fisca_pond[2:16], 2, unique)
## $A551
## [1] 1 0
##
## $A559
## [1] 0 1
##
## $A593
## [1] 0 1
##
## $A629
## [1] 0 1
##
## $A639
## [1] 0 1
##
## $A647
## [1] 0 1
##
## $A655
## [1] 0 1
##
## $A663
## [1] 0 1
##
## $A671
## [1] 0 1
##
## $A679
## [1] 0 1
##
## $A687
## [1] 0 1
##
## $A721
## [1] 0 1
##
## $A738
## [1] 0 1
##
## $A899
## [1] 1 0
##
## $Fiscalizadores
## [1] 2 9 4 3 5 6 8 1 7 10 0 12 11
# Sumário
summary(Fisca_pond$Fiscalizadores)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0 3.0 4.0 4.4 5.0 12.0
# Tabela
data.frame(table(Fisca_pond$Fiscalizadores))
## Var1 Freq
## 1 0 25
## 2 1 196
## 3 2 519
## 4 3 984
## 5 4 1317
## 6 5 1206
## 7 6 683
## 8 7 352
## 9 8 186
## 10 9 63
## 11 10 26
## 12 11 9
## 13 12 4
Visualizar
Fisca_pond <- Fisca_pond %>%
mutate(A1 = as.character(A1))
##Adicionar os valores à tabela "Delib_Munic"
Fisca_Munic <- Norma_Munic %>%
left_join(select(Fisca_pond,A1, Fiscalizadores))
glimpse(Fisca_Munic)
## Observations: 5,570
## Variables: 17
## $ A1 <chr> "110001", "110002", "110003", "110004", "110005", "1...
## $ A1a <dbl> 1100015, 1100023, 1100031, 1100049, 1100056, 1100064...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIXI", "CACO...
## $ B2 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, ...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO"...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 - Norte", ...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 500000", "2 -...
## $ B6 <dbl> 25578, 104401, 6355, 87226, 17986, 18817, 8842, 1665...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio", "Pequen...
## $ Pop_Total2010 <dbl> 24392, 90353, 6313, 78574, 17029, 18591, 8783, 13678...
## $ IDHM <dbl> 0.641, 0.702, 0.650, 0.718, 0.692, 0.685, 0.613, 0.6...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9,...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, 5, 3, 8, ...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, 5, 5, 8, ...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, 5, 3, 7, ...
## $ Normativos <dbl> 1, 8, 0, 3, 6, 2, 1, 5, 1, 5, 1, 6, 1, 5, 5, 3, 7, 4...
## $ Fiscalizadores <dbl> 2, 9, 4, 3, 4, 3, 2, 5, 3, 6, 4, 4, 2, 6, 5, 4, 8, 4...
### Histogram
hist_6 <- ggplot(Fisca_Munic, aes(Fiscalizadores)) +
geom_histogram(binwidth = 1, fill = "white", color="black") +
scale_y_continuous(limits = c(0,1550), breaks = seq(0,1500, 250))+
scale_x_continuous(limits = c(0,18), breaks = seq(0, 20, 5)) +
xlab("Núm. de cons. fiscalizadores") + ylab("")+
ggtitle("Histograma 6", subtitle = "Num. Cons. fiscalizadores, qtdd por Município")+
theme_classic()+
theme_hist
hist_6
table_Num_Fisc <- Fisca_pond %>%
select(-A1) %>%
summarise_all(sum)%>%
gather() %>%
arrange(desc(value))%>%
left_join(Fisca_codigo_nomes, by = c("key" = "V17")) %>%
left_join(Conselhos_codigo_nomes, by = c("cod_nomes" = "cod")) %>%
select(nomes, key, N_Fiscalizadores = value)
table_Num_Fisc
## # A tibble: 15 x 3
## nomes key N_Fiscalizadores
## <chr> <chr> <dbl>
## 1 <NA> Fiscalizadores 24508
## 2 Assistência Social A899 4742
## 3 Saúde A629 4325
## 4 Direitos da Criança e ... A647 4099
## 5 Educação A593 3816
## 6 Direitos do Idoso ou s... A663 2366
## 7 Meio Ambiente A551 1829
## 8 Segurança Alimentar A738 853
## 9 Direitos da Pessoa com... A671 725
## 10 Direitos da Mulher A559 619
## 11 Direitos da Juventude ... A687 371
## 12 Segurança Pública A721 358
## 13 Direitos Humanos ou si... A639 230
## 14 Igualdade Racial ou si... A655 161
## 15 Direitos de Lésbicas, ... A679 14
#write_excel_csv2(table_Num_Fisc, "table_Num_Fisc.csv"
Visualizar distribuição
## indice para selecionar unicamente a pergunta "número de rueniões?"
index_reu <- str_which(Legenda_Munic_2014$V4,"reuni") ##Coluna V4
Reuni_lista <- Legenda_Munic_2014 %>%
slice(index_reu) %>%
slice(-4)## tirar fila 4. Conselho do Fundeb; porque é um "conselho de controle...", mas que não tem as outras caracteristicas para avalair, Ou seja, não pode ser avalaido da mesma forma que os outros conselhos, portanto tiro fora da lista
Reuni_codigo <- Reuni_lista$V17 #extraimos os códigos de cada pergunta
#
Reuni_codigo_nomes <- Reuni_lista %>%
select(V17) %>%
filter(!V17 %in% c("A614", "A622", "A731")) %>%
mutate(cod_nomes = Conselhos_codigo_nomes$cod)
##Selecionamos apenas as colunas correspondentes a "número de reuniões"
Munic_2014_Reuni <- select(Munic_2014,A1, Reuni_codigo_nomes$V17)
### Excluir conselhos da alimentacao escolar, transporte escolar e defesa civil
#Munic_2014_Reuni <- select(Munic_2014_Reuni, -c(A614, A622, A731))
glimpse(Munic_2014_Reuni[2:15])
## Observations: 5,570
## Variables: 14
## $ A552 <chr> "8", "9", "6", "Não aplicável", "8", "Não aplicável", "Não apl...
## $ A560 <chr> "Não aplicável", "2", "Não aplicável", "8", "6", "Não aplicáve...
## $ A594 <chr> "Não aplicável", "24", "Não aplicável", "21", "Não aplicável",...
## $ A630 <chr> "14", "16", "12", "12", "12", "12", "13", "14", "12", "10", "1...
## $ A640 <chr> "Não aplicável", "Não aplicável", "Não aplicável", "Não aplicá...
## $ A648 <chr> "2", "12", "4", "15", "4", "6", "8", "12", "13", "12", "12", "...
## $ A656 <chr> "Não aplicável", "Não aplicável", "Não aplicável", "Não aplicá...
## $ A664 <chr> "1", "5", "0", "12", "3", "Não aplicável", "Não aplicável", "1...
## $ A672 <chr> "Não aplicável", "0", "Não aplicável", "10", "Não aplicável", ...
## $ A680 <chr> "Não aplicável", "Não aplicável", "Não aplicável", "Não aplicá...
## $ A688 <chr> "Não aplicável", "0", "Não aplicável", "10", "Não aplicável", ...
## $ A722 <chr> "0", "7", "Não aplicável", "2", "Não aplicável", "Não aplicáve...
## $ A739 <chr> "0", "12", "Não aplicável", "0", "Não aplicável", "Não aplicáv...
## $ A895 <chr> "12", "18", "8", "18", "9", "7", "16", "12", "9", "8", "19", "...
# Solução simples # Introdução de NAs
Munic_2014_Reuni <- Munic_2014_Reuni %>%
mutate_if(is.factor, as.character) %>%
mutate_if(is.character, as.numeric)
glimpse(Munic_2014_Reuni)
## Observations: 5,570
## Variables: 15
## $ A1 <dbl> 110001, 110002, 110003, 110004, 110005, 110006, 110007, 110008...
## $ A552 <dbl> 8, 9, 6, NA, 8, NA, NA, NA, 18, 0, 0, NA, NA, 12, 0, NA, NA, 1...
## $ A560 <dbl> NA, 2, NA, 8, 6, NA, NA, NA, NA, 12, NA, NA, NA, NA, NA, NA, 1...
## $ A594 <dbl> NA, 24, NA, 21, NA, NA, NA, 33, NA, 18, NA, 66, NA, NA, 10, 48...
## $ A630 <dbl> 14, 16, 12, 12, 12, 12, 13, 14, 12, 10, 12, 12, 12, 8, 12, 14,...
## $ A640 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 12, NA, NA, NA, NA...
## $ A648 <dbl> 2, 12, 4, 15, 4, 6, 8, 12, 13, 12, 12, 12, 12, 12, 12, 6, 12, ...
## $ A656 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA...
## $ A664 <dbl> 1, 5, 0, 12, 3, NA, NA, 10, 0, 5, 8, 1, NA, 6, 12, NA, 12, NA,...
## $ A672 <dbl> NA, 0, NA, 10, NA, NA, NA, NA, NA, 10, NA, 12, NA, NA, NA, NA,...
## $ A680 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA...
## $ A688 <dbl> NA, 0, NA, 10, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,...
## $ A722 <dbl> 0, 7, NA, 2, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, NA...
## $ A739 <dbl> 0, 12, NA, 0, NA, NA, NA, NA, 0, NA, 5, 0, 3, 0, NA, NA, 6, NA...
## $ A895 <dbl> 12, 18, 8, 18, 9, 7, 16, 12, 9, 8, 19, 6, 6, 2, 17, 3, 15, 12,...
descr::descr(Munic_2014_Reuni[2:15])
## A552 A560 A594 A630
## Min. : 0.000 Min. : 0.000 Min. : 0.000 Min. : 0.00
## 1st Qu.: 1.000 1st Qu.: 0.000 1st Qu.: 3.000 1st Qu.: 9.00
## Median : 3.000 Median : 4.000 Median : 6.000 Median :12.00
## Mean : 4.455 Mean : 5.304 Mean : 7.804 Mean :11.27
## 3rd Qu.: 6.000 3rd Qu.:10.000 3rd Qu.: 12.000 3rd Qu.:12.00
## Max. :60.000 Max. :60.000 Max. :120.000 Max. :96.00
## NA's :1832 NA's :4619 NA's :712 NA's :32
## A640 A648 A656 A664
## Min. : 0.000 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.: 3.000 1st Qu.: 5.000 1st Qu.: 1.000 1st Qu.: 2.000
## Median : 8.000 Median : 8.000 Median : 6.000 Median : 5.000
## Mean : 7.763 Mean : 8.823 Mean : 6.487 Mean : 6.038
## 3rd Qu.:12.000 3rd Qu.: 12.000 3rd Qu.:12.000 3rd Qu.: 11.000
## Max. :34.000 Max. :288.000 Max. :24.000 Max. :112.000
## NA's :5253 NA's :157 NA's :5297 NA's :2175
## A672 A680 A688 A722
## Min. : 0.000 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.: 1.000 1st Qu.: 1.000 1st Qu.: 0.000 1st Qu.: 0.000
## Median : 6.000 Median : 2.000 Median : 4.000 Median : 4.000
## Mean : 6.302 Mean : 4.905 Mean : 5.198 Mean : 4.969
## 3rd Qu.:12.000 3rd Qu.:10.000 3rd Qu.:10.000 3rd Qu.: 9.000
## Max. :58.000 Max. :14.000 Max. :48.000 Max. :24.000
## NA's :4489 NA's :5549 NA's :4974 NA's :4897
## A739 A895
## Min. : 0.000 Min. : 0.00
## 1st Qu.: 0.000 1st Qu.: 6.00
## Median : 2.000 Median : 11.00
## Mean : 3.843 Mean : 10.28
## 3rd Qu.: 6.000 3rd Qu.: 12.00
## Max. :24.000 Max. :150.00
## NA's :3955 NA's :36
boxplot(Munic_2014_Reuni[2:15])
# Substituir outliers antes de somar o total por mun.
#Substituir 5% dos maiores outliers
# identificar outs.
out <- boxplot(Munic_2014_Reuni[2:15])$out
summary(out)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0 4.0 20.0 22.2 26.0 288.0
length(out) # 1141
## [1] 1141
# idenficar 5% dos outs.
5*length(out)/100 # 1141 casos, ~5% = 57 casos
## [1] 57.05
# Guardar 5% dos outliers - Valores máximos
out_5 <- tail(sort(out), 57)
out_5
## [1] 50 50 50 50 50 50 50 50 50 51 52 53 54 55 55 55 56 56 58
## [20] 60 60 60 60 60 63 64 66 66 67 69 75 88 88 88 88 88 88 92
## [39] 92 96 96 96 96 96 101 101 104 105 108 108 112 114 120 123 150 193 288
length(out_5)
## [1] 57
summary(out_5) # valor mínimo 50; subtituir todos os valores maiores por este;
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 50.00 55.00 67.00 82.18 96.00 288.00
######## Aplicar exclusão de outliers
Munic_2014_Reuni <- Munic_2014_Reuni %>%
mutate_at( vars(2:15),~ifelse(.x %in% out_5, 50, .x))
#boxplot(Munic_2014_Reuni[2:15])
summary(Munic_2014_Reuni) # Valor máximo 50;
## A1 A552 A560 A594
## Min. :110001 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.:251213 1st Qu.: 1.000 1st Qu.: 0.000 1st Qu.: 3.000
## Median :314628 Median : 3.000 Median : 4.000 Median : 6.000
## Mean :325359 Mean : 4.452 Mean : 5.293 Mean : 7.667
## 3rd Qu.:411919 3rd Qu.: 6.000 3rd Qu.:10.000 3rd Qu.:12.000
## Max. :530010 Max. :50.000 Max. :50.000 Max. :50.000
## NA's :1832 NA's :4619 NA's :712
## A630 A640 A648 A656
## Min. : 0.00 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.: 9.00 1st Qu.: 3.000 1st Qu.: 5.000 1st Qu.: 1.000
## Median :12.00 Median : 8.000 Median : 8.000 Median : 6.000
## Mean :11.25 Mean : 7.763 Mean : 8.716 Mean : 6.487
## 3rd Qu.:12.00 3rd Qu.:12.000 3rd Qu.:12.000 3rd Qu.:12.000
## Max. :50.00 Max. :34.000 Max. :50.000 Max. :24.000
## NA's :32 NA's :5253 NA's :157 NA's :5297
## A664 A672 A680 A688
## Min. : 0.000 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.: 2.000 1st Qu.: 1.000 1st Qu.: 1.000 1st Qu.: 0.000
## Median : 5.000 Median : 6.000 Median : 2.000 Median : 4.000
## Mean : 5.994 Mean : 6.295 Mean : 4.905 Mean : 5.198
## 3rd Qu.:11.000 3rd Qu.:12.000 3rd Qu.:10.000 3rd Qu.:10.000
## Max. :50.000 Max. :50.000 Max. :14.000 Max. :48.000
## NA's :2175 NA's :4489 NA's :5549 NA's :4974
## A722 A739 A895
## Min. : 0.000 Min. : 0.000 Min. : 0.00
## 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 6.00
## Median : 4.000 Median : 2.000 Median :11.00
## Mean : 4.969 Mean : 3.843 Mean :10.23
## 3rd Qu.: 9.000 3rd Qu.: 6.000 3rd Qu.:12.00
## Max. :24.000 Max. :24.000 Max. :50.00
## NA's :4897 NA's :3955 NA's :36
## Somar
Reuni_pond <- Munic_2014_Reuni %>%
mutate(Num_reunioes = rowSums(select(., -A1), na.rm = T))
###
descr::descr(Reuni_pond)
## A1 A552 A560 A594
## Min. :110001 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.:251213 1st Qu.: 1.000 1st Qu.: 0.000 1st Qu.: 3.000
## Median :314628 Median : 3.000 Median : 4.000 Median : 6.000
## Mean :325359 Mean : 4.452 Mean : 5.293 Mean : 7.667
## 3rd Qu.:411919 3rd Qu.: 6.000 3rd Qu.:10.000 3rd Qu.:12.000
## Max. :530010 Max. :50.000 Max. :50.000 Max. :50.000
## NA's :1832 NA's :4619 NA's :712
## A630 A640 A648 A656
## Min. : 0.00 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.: 9.00 1st Qu.: 3.000 1st Qu.: 5.000 1st Qu.: 1.000
## Median :12.00 Median : 8.000 Median : 8.000 Median : 6.000
## Mean :11.25 Mean : 7.763 Mean : 8.716 Mean : 6.487
## 3rd Qu.:12.00 3rd Qu.:12.000 3rd Qu.:12.000 3rd Qu.:12.000
## Max. :50.00 Max. :34.000 Max. :50.000 Max. :24.000
## NA's :32 NA's :5253 NA's :157 NA's :5297
## A664 A672 A680 A688
## Min. : 0.000 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.: 2.000 1st Qu.: 1.000 1st Qu.: 1.000 1st Qu.: 0.000
## Median : 5.000 Median : 6.000 Median : 2.000 Median : 4.000
## Mean : 5.994 Mean : 6.295 Mean : 4.905 Mean : 5.198
## 3rd Qu.:11.000 3rd Qu.:12.000 3rd Qu.:10.000 3rd Qu.:10.000
## Max. :50.000 Max. :50.000 Max. :14.000 Max. :48.000
## NA's :2175 NA's :4489 NA's :5549 NA's :4974
## A722 A739 A895 Num_reunioes
## Min. : 0.000 Min. : 0.000 Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 6.00 1st Qu.: 32.00
## Median : 4.000 Median : 2.000 Median :11.00 Median : 42.00
## Mean : 4.969 Mean : 3.843 Mean :10.23 Mean : 48.32
## 3rd Qu.: 9.000 3rd Qu.: 6.000 3rd Qu.:12.00 3rd Qu.: 57.00
## Max. :24.000 Max. :24.000 Max. :50.00 Max. :263.00
## NA's :4897 NA's :3955 NA's :36
descr::freq(as.factor(Reuni_pond$Num_reunioes))
## as.factor(Reuni_pond$Num_reunioes)
## Frequência Percentual
## 0 1 0.01795
## 2 1 0.01795
## 3 2 0.03591
## 4 3 0.05386
## 6 2 0.03591
## 7 4 0.07181
## 8 7 0.12567
## 9 4 0.07181
## 10 2 0.03591
## 11 12 0.21544
## 12 12 0.21544
## 13 10 0.17953
## 14 14 0.25135
## 15 23 0.41293
## 16 29 0.52065
## 17 23 0.41293
## 18 35 0.62837
## 19 25 0.44883
## 20 54 0.96948
## 21 60 1.07720
## 22 75 1.34650
## 23 61 1.09515
## 24 75 1.34650
## 25 74 1.32855
## 26 106 1.90305
## 27 104 1.86715
## 28 126 2.26212
## 29 118 2.11849
## 30 140 2.51346
## 31 149 2.67504
## 32 120 2.15440
## 33 130 2.33393
## 34 134 2.40575
## 35 128 2.29803
## 36 184 3.30341
## 37 131 2.35189
## 38 150 2.69300
## 39 117 2.10054
## 40 139 2.49551
## 41 119 2.13645
## 42 142 2.54937
## 43 127 2.28007
## 44 128 2.29803
## 45 108 1.93896
## 46 108 1.93896
## 47 88 1.57989
## 48 109 1.95691
## 49 89 1.59785
## 50 99 1.77738
## 51 95 1.70557
## 52 101 1.81329
## 53 65 1.16697
## 54 79 1.41831
## 55 59 1.05925
## 56 70 1.25673
## 57 53 0.95153
## 58 81 1.45422
## 59 47 0.84381
## 60 49 0.87971
## 61 62 1.11311
## 62 40 0.71813
## 63 43 0.77199
## 64 48 0.86176
## 65 39 0.70018
## 66 37 0.66427
## 67 32 0.57451
## 68 34 0.61041
## 69 33 0.59246
## 70 30 0.53860
## 71 37 0.66427
## 72 31 0.55655
## 73 26 0.46679
## 74 26 0.46679
## 75 28 0.50269
## 76 25 0.44883
## 77 19 0.34111
## 78 25 0.44883
## 79 17 0.30521
## 80 12 0.21544
## 81 12 0.21544
## 82 13 0.23339
## 83 17 0.30521
## 84 18 0.32316
## 85 13 0.23339
## 86 13 0.23339
## 87 10 0.17953
## 88 17 0.30521
## 89 13 0.23339
## 90 15 0.26930
## 91 15 0.26930
## 92 11 0.19749
## 93 17 0.30521
## 94 11 0.19749
## 95 14 0.25135
## 96 7 0.12567
## 97 13 0.23339
## 98 8 0.14363
## 99 12 0.21544
## 100 9 0.16158
## 101 7 0.12567
## 102 8 0.14363
## 103 5 0.08977
## 104 10 0.17953
## 105 8 0.14363
## 106 5 0.08977
## 107 5 0.08977
## 108 9 0.16158
## 109 2 0.03591
## 110 14 0.25135
## 111 7 0.12567
## 112 4 0.07181
## 113 8 0.14363
## 114 12 0.21544
## 115 7 0.12567
## 116 3 0.05386
## 117 4 0.07181
## 118 2 0.03591
## 119 6 0.10772
## 120 7 0.12567
## 121 10 0.17953
## 122 3 0.05386
## 123 2 0.03591
## 124 2 0.03591
## 125 1 0.01795
## 126 4 0.07181
## 127 4 0.07181
## 128 5 0.08977
## 129 2 0.03591
## 130 2 0.03591
## 131 3 0.05386
## 132 2 0.03591
## 133 5 0.08977
## 134 4 0.07181
## 135 2 0.03591
## 136 5 0.08977
## 137 3 0.05386
## 138 5 0.08977
## 139 1 0.01795
## 140 2 0.03591
## 141 1 0.01795
## 142 1 0.01795
## 143 2 0.03591
## 144 3 0.05386
## 145 2 0.03591
## 146 3 0.05386
## 147 2 0.03591
## 148 2 0.03591
## 149 1 0.01795
## 150 2 0.03591
## 151 1 0.01795
## 152 3 0.05386
## 154 1 0.01795
## 155 2 0.03591
## 156 3 0.05386
## 158 2 0.03591
## 160 2 0.03591
## 163 1 0.01795
## 165 3 0.05386
## 166 2 0.03591
## 168 1 0.01795
## 170 2 0.03591
## 171 1 0.01795
## 172 2 0.03591
## 173 1 0.01795
## 175 1 0.01795
## 177 1 0.01795
## 180 1 0.01795
## 183 2 0.03591
## 188 1 0.01795
## 189 1 0.01795
## 191 1 0.01795
## 193 2 0.03591
## 194 1 0.01795
## 196 1 0.01795
## 197 1 0.01795
## 199 1 0.01795
## 201 2 0.03591
## 225 1 0.01795
## 237 1 0.01795
## 245 1 0.01795
## 247 1 0.01795
## 257 1 0.01795
## 263 1 0.01795
## Total 5570 100.00000
summary(Reuni_pond$Num_reunioes)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 32.00 42.00 48.32 57.00 263.00
Visualizar
Reuni_pond <- Reuni_pond %>%
mutate(A1 = as.character(A1))
##Adicionamos os valores na tabela "Fisca_Munic"
Reuni_Munic <- Fisca_Munic %>%
left_join(select(Reuni_pond, A1, Num_reunioes))
glimpse(Reuni_Munic)
## Observations: 5,570
## Variables: 18
## $ A1 <chr> "110001", "110002", "110003", "110004", "110005", "1...
## $ A1a <dbl> 1100015, 1100023, 1100031, 1100049, 1100056, 1100064...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIXI", "CACO...
## $ B2 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, ...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO"...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 - Norte", ...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 500000", "2 -...
## $ B6 <dbl> 25578, 104401, 6355, 87226, 17986, 18817, 8842, 1665...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio", "Pequen...
## $ Pop_Total2010 <dbl> 24392, 90353, 6313, 78574, 17029, 18591, 8783, 13678...
## $ IDHM <dbl> 0.641, 0.702, 0.650, 0.718, 0.692, 0.685, 0.613, 0.6...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9,...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, 5, 3, 8, ...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, 5, 5, 8, ...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, 5, 3, 7, ...
## $ Normativos <dbl> 1, 8, 0, 3, 6, 2, 1, 5, 1, 5, 1, 6, 1, 5, 5, 3, 7, 4...
## $ Fiscalizadores <dbl> 2, 9, 4, 3, 4, 3, 2, 5, 3, 6, 4, 4, 2, 6, 5, 4, 8, 4...
## $ Num_reunioes <dbl> 37, 105, 30, 108, 42, 25, 37, 81, 52, 75, 56, 105, 3...
table_Num_Reuni <- Reuni_pond %>%
select(-A1) %>%
summarise_all(sum, na.rm = T)%>%
gather() %>%
arrange(desc(as.numeric(value)))%>%
left_join(Reuni_codigo_nomes, by = c("key" = "V17")) %>%
left_join(Conselhos_codigo_nomes, by = c("cod_nomes" = "cod")) %>%
select(nomes, key, N_reuni = value)
table_Num_Reuni
## # A tibble: 15 x 3
## nomes key N_reuni
## <chr> <chr> <dbl>
## 1 <NA> Num_reunioes 269154
## 2 Saúde A630 62296
## 3 Assistência Social A895 56620
## 4 Direitos da Criança e ... A648 47179
## 5 Educação A594 37248
## 6 Direitos do Idoso ou s... A664 20348
## 7 Meio Ambiente A552 16641
## 8 Direitos da Pessoa com... A672 6805
## 9 Segurança Alimentar A739 6206
## 10 Direitos da Mulher A560 5034
## 11 Segurança Pública A722 3344
## 12 Direitos da Juventude ... A688 3098
## 13 Direitos Humanos ou si... A640 2461
## 14 Igualdade Racial ou si... A656 1771
## 15 Direitos de Lésbicas, ... A680 103
# write_excel_csv2(table_Num_Reuni, "table_Num_Reuni.csv")
# Hist_
hist_7 <- ggplot(Reuni_pond, aes(Num_reunioes)) +
geom_histogram(binwidth = 1) +
ggtitle("Nº de reuniões, quantidade por Município")+
theme_classic()
hist_7
# Hist_
Reuni_Munic %>%
mutate(reuni_cons = Num_reunioes/Num_conselhos) %>%
ggplot()+
xlab("")+
geom_boxplot(aes(x=1, y = reuni_cons))+
theme_classic()+
theme(axis.text.y = element_blank())+
coord_flip()
tabela_indicadores <- table_Num_Conselhos %>%
select(-key) %>%
left_join(table_Num_pari) %>%
select(-key) %>%
left_join(table_Num_del, by = "nomes") %>%
select(-key) %>%
left_join(table_Num_Consultivos ) %>%
select(-key) %>%
left_join(table_Num_Fisc) %>%
select(-key) %>%
left_join(table_Num_Norma) %>%
select(-key) %>%
left_join(table_Num_Reuni) %>%
select(-key) %>%
arrange(desc(N_conselhos))
tabela_indicadores %>%
datatable(extensions = 'FixedColumns',
rownames = F,
options = list(autoFill = TRUE,
fixedHeader = TRUE,
autowidth = TRUE,
paging = F,
scrollX = TRUE,
scrollY = "400px"))
tabela_indicadores
## # A tibble: 15 x 8
## nomes N_conselhos N_Paritários N_Deliberativos N_consultivos N_Fiscalizadores
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 <NA> 34329 32493 29541 23849 24508
## 2 Assi~ 5562 5515 5335 3261 4742
## 3 Saúde 5556 5429 5006 3302 4325
## 4 Dire~ 5481 5378 4916 3394 4099
## 5 Educ~ 4874 4496 4101 4166 3816
## 6 Meio~ 3785 3503 3238 3064 1829
## 7 Dire~ 3450 3365 2939 2431 2366
## 8 Segu~ 1629 1199 994 1308 853
## 9 Dire~ 1093 1042 907 772 725
## 10 Dire~ 976 890 731 710 619
## 11 Segu~ 691 561 436 495 358
## 12 Dire~ 608 534 434 497 371
## 13 Dire~ 323 304 278 222 230
## 14 Igua~ 280 257 211 212 161
## 15 Dire~ 21 20 15 15 14
## # ... with 2 more variables: N_Normativos <dbl>, N_reuni <dbl>
Visualização
Distribuicao_conselhos <- Reuni_Munic
glimpse(Distribuicao_conselhos)
## Observations: 5,570
## Variables: 18
## $ A1 <chr> "110001", "110002", "110003", "110004", "110005", "1...
## $ A1a <dbl> 1100015, 1100023, 1100031, 1100049, 1100056, 1100064...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIXI", "CACO...
## $ B2 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, ...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO", "RO"...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 - Norte", ...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 500000", "2 -...
## $ B6 <dbl> 25578, 104401, 6355, 87226, 17986, 18817, 8842, 1665...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio", "Pequen...
## $ Pop_Total2010 <dbl> 24392, 90353, 6313, 78574, 17029, 18591, 8783, 13678...
## $ IDHM <dbl> 0.641, 0.702, 0.650, 0.718, 0.692, 0.685, 0.613, 0.6...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6, 6, 5, 9,...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, 5, 3, 8, ...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, 5, 5, 8, ...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, 5, 3, 7, ...
## $ Normativos <dbl> 1, 8, 0, 3, 6, 2, 1, 5, 1, 5, 1, 6, 1, 5, 5, 3, 7, 4...
## $ Fiscalizadores <dbl> 2, 9, 4, 3, 4, 3, 2, 5, 3, 6, 4, 4, 2, 6, 5, 4, 8, 4...
## $ Num_reunioes <dbl> 37, 105, 30, 108, 42, 25, 37, 81, 52, 75, 56, 105, 3...
Cria uma variavel ficctícia para o valor IPPC = 1
# Criar valor de referência
Ref <- data.frame(A1 = "Ref", A1a = "Ref", B1 = "Ref", B2 = "Ref", B3 = "Ref", B4 = "Ref", B5 = "Ref", B6 = "Ref", Porte_pop2010 = "Ref", Pop_Total2010 = "Ref", IDHM = "Ref", Num_conselhos = 14, Paridade = 14, Deliberativos= 14, Consultivos =14, Normativos = 14, Fiscalizadores =14, Num_reunioes = 263)
Distribuicao_conselhos <- rbind(Distribuicao_conselhos, Ref)
Perfil do conselho. Soma: Número de Conselhos + Número de Conselhos paritários + Número de Conselhos deliberativos + 0,3 * Número de Conselhos consultivos + 0,3 * Número de Conselhos normativos + 0,3 * Número de Conselhos fiscalizadores
Índice participativos Número de reuniões/número de conselhos Isto é, a média das reuniões
## potencial participativo: valor ponderado a cada conselho.
# Como indicado no roteiro: 1 para cada conselho, 1 se paritário, 1 se deliberativo, 0.3 o resto.
# "Perfil do Conselho": descreve o a quatdade de conselhos e suas poderações
Potencial <- Distribuicao_conselhos%>%
mutate(Perfil_Conselho = Num_conselhos+Paridade+Deliberativos+0.33*Consultivos+0.33*Normativos+0.33*Fiscalizadores)
summary(Potencial$Perfil_Conselho)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 16.97 20.29 21.18 24.63 55.86
# índice participativo: Número de reuniões/Número de Conselhos (média das reuniões)
Potencial <- Potencial %>%
mutate(Indice_participativo = Num_reunioes/Num_conselhos)
summary(Potencial$Indice_participativo)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.500 5.800 7.500 7.755 9.375 24.625 1
# Potencial participativo = média de reuniões * perfil dos conselhos.
Potencial <- Potencial %>%
mutate(Potencial_participativo = Perfil_Conselho*Indice_participativo)
glimpse(Potencial)
## Observations: 5,571
## Variables: 21
## $ A1 <chr> "110001", "110002", "110003", "110004", "11...
## $ A1a <chr> "1100015", "1100023", "1100031", "1100049",...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIX...
## $ B2 <chr> "11", "11", "11", "11", "11", "11", "11", "...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 -...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 5000...
## $ B6 <chr> "25578", "104401", "6355", "87226", "17986"...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio"...
## $ Pop_Total2010 <chr> "24392", "90353", "6313", "78574", "17029",...
## $ IDHM <chr> "0.641", "0.702", "0.65", "0.718", "0.692",...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6,...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, ...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, ...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, ...
## $ Normativos <dbl> 1, 8, 0, 3, 6, 2, 1, 5, 1, 5, 1, 6, 1, 5, 5...
## $ Fiscalizadores <dbl> 2, 9, 4, 3, 4, 3, 2, 5, 3, 6, 4, 4, 2, 6, 5...
## $ Num_reunioes <dbl> 37, 105, 30, 108, 42, 25, 37, 81, 52, 75, 5...
## $ Perfil_Conselho <dbl> 19.97, 41.91, 16.32, 31.30, 21.95, 10.31, 1...
## $ Indice_participativo <dbl> 5.285714, 9.545455, 6.000000, 10.800000, 7....
## $ Potencial_participativo <dbl> 105.55571, 400.05000, 97.92000, 338.04000, ...
Transformar índice para que sua variação seja entre 0, menor valor, e 1, maior. O valor 1 corresponde a variável ficctítica criada acima
# # Aplicar fórmula
# Normalizar
# (x-min(x))/(max(x)-min(x))
#Checar NAs
sapply(Potencial, function(x)all(any(is.na(x))))
## A1 A1a B1
## FALSE FALSE FALSE
## B2 B3 B4
## FALSE FALSE FALSE
## B5 B6 Porte_pop2010
## FALSE FALSE FALSE
## Pop_Total2010 IDHM Num_conselhos
## TRUE TRUE FALSE
## Paridade Deliberativos Consultivos
## FALSE FALSE FALSE
## Normativos Fiscalizadores Num_reunioes
## FALSE FALSE FALSE
## Perfil_Conselho Indice_participativo Potencial_participativo
## FALSE TRUE TRUE
sum(is.na(Potencial$Indice_participativo)) # Apenas 1 NA.
## [1] 1
## Remover Na's
Potencial <- Potencial %>%
mutate(IPP_Norm = round((Potencial$Potencial_participativo - min(Potencial$Potencial_participativo, na.rm = T))/(max(Potencial$Potencial_participativo, na.rm = T)- min(Potencial$Potencial_participativo, na.rm = T)),3))
glimpse(Potencial)
## Observations: 5,571
## Variables: 22
## $ A1 <chr> "110001", "110002", "110003", "110004", "11...
## $ A1a <chr> "1100015", "1100023", "1100031", "1100049",...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIX...
## $ B2 <chr> "11", "11", "11", "11", "11", "11", "11", "...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 -...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 5000...
## $ B6 <chr> "25578", "104401", "6355", "87226", "17986"...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio"...
## $ Pop_Total2010 <chr> "24392", "90353", "6313", "78574", "17029",...
## $ IDHM <chr> "0.641", "0.702", "0.65", "0.718", "0.692",...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6,...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, ...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, ...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, ...
## $ Normativos <dbl> 1, 8, 0, 3, 6, 2, 1, 5, 1, 5, 1, 6, 1, 5, 5...
## $ Fiscalizadores <dbl> 2, 9, 4, 3, 4, 3, 2, 5, 3, 6, 4, 4, 2, 6, 5...
## $ Num_reunioes <dbl> 37, 105, 30, 108, 42, 25, 37, 81, 52, 75, 5...
## $ Perfil_Conselho <dbl> 19.97, 41.91, 16.32, 31.30, 21.95, 10.31, 1...
## $ Indice_participativo <dbl> 5.285714, 9.545455, 6.000000, 10.800000, 7....
## $ Potencial_participativo <dbl> 105.55571, 400.05000, 97.92000, 338.04000, ...
## $ IPP_Norm <dbl> 0.095, 0.377, 0.087, 0.318, 0.141, 0.076, 0...
sum(is.na(Potencial$IPP_Norm)) # apenas 1 NA
## [1] 1
summary(Potencial$IPP_Norm)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.0000 0.0980 0.1330 0.1529 0.1810 1.0000 1
Potencial <- filter(Potencial, IPP_Norm != 1)
# Classificação IPP-Norm
# summary(Potencial$IPP_Norm)
# p <- ggplot(Potencial, aes(x=1, y=IPP_Norm)) +
# geom_boxplot()
#
# ggplot_build(p)$data
p <- ggplot(Potencial, aes(x=1, y=IPP_Norm)) +
#stat_boxplot(geom = "errorbar", coef=3, width = 0.5)+
geom_boxplot(coef = 3)
ggplot_build(p)$data
## [[1]]
## ymin lower middle upper ymax
## 1 0 0.098 0.133 0.181 0.426
## outliers
## 1 0.478, 0.692, 0.483, 0.550, 0.489, 0.497, 0.492, 0.453, 0.467, 0.541, 0.604, 0.466, 0.463, 0.481, 0.523, 0.452, 0.471, 0.598, 0.468, 0.647, 0.453, 0.442, 0.486, 0.641, 0.572, 0.503, 0.455, 0.536, 0.575, 0.491, 0.825, 0.465, 0.521, 0.568, 0.674, 0.764, 0.460, 0.449, 0.525, 0.496, 0.717, 0.434, 0.462, 0.571, 0.457, 0.457, 0.476, 0.438, 0.442, 0.433, 0.478, 0.463, 0.464, 0.466, 0.579, 0.457, 0.517, 0.503, 0.452, 0.501, 0.542, 0.685, 0.558, 0.472, 0.542, 0.768, 0.460, 0.607, 0.437, 0.458, 0.447, 0.453, 0.582, 0.716, 0.455, 0.430, 0.441, 0.482, 0.519, 0.455, 0.442, 0.440, 0.546, 0.430, 0.578, 0.551, 0.495, 0.615
## notchupper notchlower x flipped_aes PANEL group ymin_final ymax_final xmin
## 1 0.1347573 0.1312427 1 FALSE 1 -1 0 0.825 0.625
## xmax xid newx new_width weight colour fill size alpha shape linetype
## 1 1.375 1 1 0.75 1 grey20 white 0.5 NA 19 solid
##
Potencial <- Potencial %>%
mutate(IPP_Class = case_when(
IPP_Norm <= 0.097 ~ "muito baixo",
IPP_Norm >= 0.098 & IPP_Norm <= 0.132 ~ "baixo",
IPP_Norm >= 0.133 & IPP_Norm <= 0.180 ~ "médio",
IPP_Norm >= 0.181 & IPP_Norm <= 0.425 ~ "alto",
IPP_Norm >= 0.426 ~ "muito alto"))
glimpse(Potencial)
## Observations: 5,569
## Variables: 23
## $ A1 <chr> "110001", "110002", "110003", "110004", "11...
## $ A1a <chr> "1100015", "1100023", "1100031", "1100049",...
## $ B1 <chr> "ALTA FLORESTA DOESTE", "ARIQUEMES", "CABIX...
## $ B2 <chr> "11", "11", "11", "11", "11", "11", "11", "...
## $ B3 <chr> "RO", "RO", "RO", "RO", "RO", "RO", "RO", "...
## $ B4 <chr> "1 - Norte", "1 - Norte", "1 - Norte", "1 -...
## $ B5 <chr> "4 - 20001 até 50000", "6 - 100001 até 5000...
## $ B6 <chr> "25578", "104401", "6355", "87226", "17986"...
## $ Porte_pop2010 <chr> "Pequeno II", "Médio", "Pequeno I", "Médio"...
## $ Pop_Total2010 <chr> "24392", "90353", "6313", "78574", "17029",...
## $ IDHM <chr> "0.641", "0.702", "0.65", "0.718", "0.692",...
## $ Num_conselhos <dbl> 7, 11, 5, 10, 6, 3, 3, 5, 6, 8, 6, 8, 4, 6,...
## $ Paridade <dbl> 5, 11, 5, 9, 6, 3, 3, 5, 5, 7, 6, 8, 4, 6, ...
## $ Deliberativos <dbl> 5, 11, 5, 9, 5, 2, 3, 5, 6, 4, 4, 8, 3, 5, ...
## $ Consultivos <dbl> 6, 10, 0, 4, 5, 2, 1, 5, 3, 7, 3, 4, 4, 4, ...
## $ Normativos <dbl> 1, 8, 0, 3, 6, 2, 1, 5, 1, 5, 1, 6, 1, 5, 5...
## $ Fiscalizadores <dbl> 2, 9, 4, 3, 4, 3, 2, 5, 3, 6, 4, 4, 2, 6, 5...
## $ Num_reunioes <dbl> 37, 105, 30, 108, 42, 25, 37, 81, 52, 75, 5...
## $ Perfil_Conselho <dbl> 19.97, 41.91, 16.32, 31.30, 21.95, 10.31, 1...
## $ Indice_participativo <dbl> 5.285714, 9.545455, 6.000000, 10.800000, 7....
## $ Potencial_participativo <dbl> 105.55571, 400.05000, 97.92000, 338.04000, ...
## $ IPP_Norm <dbl> 0.095, 0.377, 0.087, 0.318, 0.141, 0.076, 0...
## $ IPP_Class <chr> "muito baixo", "alto", "muito baixo", "alto...
Potencial$IPP_Class <- factor(Potencial$IPP_Class, levels = c("muito alto", "alto", "médio", "baixo", "muito baixo"))
unique(Potencial$IPP_Class)
## [1] muito baixo alto médio baixo muito alto
## Levels: muito alto alto médio baixo muito baixo
Ordenada pelo IPPC, do maior para o menor
Potencial <- Potencial %>%
mutate(B4 = str_remove(B4, "1 - |2 - |3 - |4 - |5 - ")) %>%
mutate(B4 = as.factor(B4))
Potencial$Porte_pop2010 <- factor(Potencial$Porte_pop2010, levels = c("Metrópole", "Grande", "Médio", "Pequeno II", "Pequeno I"))
Potencial %>%
arrange(desc(IPP_Norm)) %>%
#select(1:104) %>%
datatable(extensions = 'FixedColumns',
rownames = F,
options = list(autoFill = TRUE,
fixedHeader = TRUE,
autowidth = TRUE,
paging = F,
scrollX = TRUE,
scrollY = "400px"))#%>%
# DT::formatStyle(fontSize = '75%')
grid.arrange(hist_1, hist_2, hist_3, hist_4,
hist_5, hist_6, nrow = 2)
Para mais informações sobre a classificação do IDH-M, consultar o site Atlas-Brsail
Potencial$IDHM <- as.numeric(Potencial$IDHM)
Potencial <- Potencial %>%
mutate(IDHM_Class = case_when(
IDHM <= 0.499 ~ "muito baixo",
IDHM >= 0.500 & IDHM <= 0.599 ~ "baixo",
IDHM >= 0.600 & IDHM <= 0.699 ~ "médio",
IDHM >= 0.700 & IDHM <= 0.799 ~ "alto",
IDHM >= 0.800 ~ "muito alto"))
Potencial$IDHM_Class <- factor(Potencial$IDHM_Class, levels = c("muito alto", "alto", "médio", "baixo", "muito baixo"))
ggplot(drop_na(Potencial),
aes(x=IDHM, y=IPP_Norm))+
geom_point(aes(color = B4)) +
scale_color_paletteer_d(name = "Regiões: ", "ggsci::category10_d3")+
xlab("IDH-M") + ylab("IPPC") +
geom_smooth(se=F)+
theme_classic()+
guides(colour = guide_legend(override.aes = list(size=5)))+
theme_hist
ggplot(drop_na(Potencial),
aes(x=IDHM, y=IPP_Norm))+
geom_point() +
#scale_color_paletteer_d(name = "Regiões: ", "ggsci::category10_d3")+
xlab("IDH-M") + ylab("IPPC") +
geom_smooth(se=F)+
theme_classic()+
#guides(colour = guide_legend(override.aes = list(size=5)))+
theme_hist
index_ano <- str_which(Legenda_Munic_2014$V4,"ano de criação")
### Usar o índice para selecionar as linhas.
ano_lista <- slice(Legenda_Munic_2014,index_ano)
## Usar a coluna V17 que possui os códigos da base de dados
ano_codigo <- ano_lista$V17 #identificamos os códigos de cada conselho
# Nome
ano_codigo_nomes <- ano_lista %>%
select(V17) %>%
filter(!V17 %in% c("A605", "A608", "A616", "A725")) %>%
mutate(cod_nomes = Conselhos_codigo_nomes$cod,
nomes = Conselhos_codigo_nomes$nomes)
##Selecionamos apenas as colunas correspondentes a "possui Conselho?"
Munic_2014_anos <- select(Munic_2014, ano_codigo_nomes$V17)
Munic_2014_anos <- gather(Munic_2014_anos, conselhos, anos)
Munic_2014_anos_88 <- Munic_2014_anos %>%
mutate(anos = as.numeric(anos)) %>%
mutate(conselhos = factor(conselhos)) %>%
filter(anos > 1987) %>%
filter(anos < 2015) %>%
arrange(anos) %>%
left_join(ano_codigo_nomes, by = c("conselhos" = "V17"))
##
anos <- ggplot(Munic_2014_anos_88,
aes(x=anos, y=reorder(nomes, -anos, FUN = mean)))+
geom_density_ridges(aes(fill=reorder(conselhos, -anos, FUN = mean)), show.legend = F, alpha = .7) +
scale_fill_viridis_d(option = "B", direction = -1,
begin = .1, end = .9)+
scale_x_continuous(limits = c(1988, 2018),
breaks = c(1990, 1994, 1998, 2002, 2006, 2010, 2014))+
#scale_y_discrete(labels = c())+
geom_vline(xintercept = c(1990, 1994, 1998, 2002, 2006, 2010, 2014), linetype= "dotdash") +
ylab("") + xlab("")+
theme_classic()+
theme(axis.text.x = element_text(size = 14, face = "bold"),
axis.text.y = element_text(size = 14, face = "bold"))
anos
library(formattable)
formattable(drop_na(tabela_indicadores),
list(N_conselhos = normalize_bar(),
N_Paritários = normalize_bar(),
N_Deliberativos = normalize_bar(),
N_consultivos = normalize_bar(),
N_Fiscalizadores = normalize_bar(),
N_Normativos = normalize_bar(),
N_reuni= normalize_bar()))
| nomes | N_conselhos | N_Paritários | N_Deliberativos | N_consultivos | N_Fiscalizadores | N_Normativos | N_reuni |
|---|---|---|---|---|---|---|---|
| Assistência Social | 5562 | 5515 | 5335 | 3261 | 4742 | 3055 | 56620 |
| Saúde | 5556 | 5429 | 5006 | 3302 | 4325 | 2586 | 62296 |
| Direitos da Criança e … | 5481 | 5378 | 4916 | 3394 | 4099 | 2805 | 47179 |
| Educação | 4874 | 4496 | 4101 | 4166 | 3816 | 3270 | 37248 |
| Meio Ambiente | 3785 | 3503 | 3238 | 3064 | 1829 | 1612 | 16641 |
| Direitos do Idoso ou s… | 3450 | 3365 | 2939 | 2431 | 2366 | 1598 | 20348 |
| Segurança Alimentar | 1629 | 1199 | 994 | 1308 | 853 | 522 | 6206 |
| Direitos da Pessoa com… | 1093 | 1042 | 907 | 772 | 725 | 471 | 6805 |
| Direitos da Mulher | 976 | 890 | 731 | 710 | 619 | 406 | 5034 |
| Segurança Pública | 691 | 561 | 436 | 495 | 358 | 195 | 3344 |
| Direitos da Juventude … | 608 | 534 | 434 | 497 | 371 | 229 | 3098 |
| Direitos Humanos ou si… | 323 | 304 | 278 | 222 | 230 | 162 | 2461 |
| Igualdade Racial ou si… | 280 | 257 | 211 | 212 | 161 | 115 | 1771 |
| Direitos de Lésbicas, … | 21 | 20 | 15 | 15 | 14 | 9 | 103 |
sjPlot::sjt.xtab(Potencial$IPP_Class,
Potencial$IDHM_Class,
encoding = "UTF-8",
show.summary = F)
| IPP_Class | IDHM_Class | Total | ||||
|---|---|---|---|---|---|---|
| muito alto | alto | médio | baixo | muito baixo | ||
| muito alto | 14 | 66 | 8 | 1 | 0 | 89 |
| alto | 27 | 629 | 465 | 192 | 4 | 1317 |
| médio | 2 | 436 | 589 | 372 | 4 | 1403 |
| baixo | 0 | 405 | 575 | 390 | 7 | 1377 |
| muito baixo | 1 | 353 | 596 | 411 | 17 | 1378 |
| Total | 44 | 1889 | 2233 | 1366 | 32 | 5564 |
sjPlot::sjt.xtab(Potencial$IPP_Class,
Potencial$Porte_pop2010,
encoding = "UTF-8",
show.summary = F)
| IPP_Class | Porte_pop2010 | Total | ||||
|---|---|---|---|---|---|---|
| Metrópole | Grande | Médio | Pequeno II | Pequeno I | ||
| muito alto | 9 | 61 | 13 | 6 | 0 | 89 |
| alto | 8 | 192 | 215 | 412 | 490 | 1317 |
| médio | 0 | 12 | 62 | 306 | 1024 | 1404 |
| baixo | 0 | 1 | 25 | 195 | 1156 | 1377 |
| muito baixo | 0 | 0 | 10 | 124 | 1248 | 1382 |
| Total | 17 | 266 | 325 | 1043 | 3918 | 5569 |
sjPlot::sjt.xtab(Potencial$IPP_Class,
Potencial$B4,
encoding = "UTF-8",
show.summary = F)
| IPP_Class | B4 | Total | ||||
|---|---|---|---|---|---|---|
| Centro-Oeste | Nordeste | Norte | Sudeste | Sul | ||
| muito alto | 10 | 15 | 7 | 38 | 19 | 89 |
| alto | 117 | 360 | 119 | 448 | 273 | 1317 |
| médio | 106 | 493 | 116 | 379 | 310 | 1404 |
| baixo | 104 | 471 | 82 | 398 | 322 | 1377 |
| muito baixo | 130 | 454 | 126 | 405 | 267 | 1382 |
| Total | 467 | 1793 | 450 | 1668 | 1191 | 5569 |
mapa_mun <- read_municipality(simplified = T, showProgress = F)
mapa_states <- read_state(simplified = T, showProgress = F)
mapa_plot <-mapa_mun %>%
select(1, 5 ) %>%
mutate(code_muni = as.character(code_muni)) %>%
right_join(Potencial, by = c("code_muni" = "A1a"))
ggplot(drop_na(mapa_plot))+
geom_sf(aes(fill=IPP_Class), colour = alpha("white", .4), lty=3)+
geom_sf(data=mapa_states, fill=NA, color = "black")+
#geom_sf(data=brmap::brmap_estado, fill=NA, color = "black")+
scale_fill_paletteer_d(name = "IPPC", "ggsci::category10_d3")+
theme_map_br
matrix_cor <- Potencial %>%
select(IPP_Norm, IDHM, Num_conselhos:Potencial_participativo) %>%
drop_na()
corr <- round(cor(matrix_cor), 1)
corr %>%
datatable(extensions = 'FixedColumns',
rownames = F,
options = list(autoFill = TRUE,
fixedHeader = TRUE,
autowidth = TRUE,
paging = F,
scrollX = TRUE,
scrollY = "400px"))
ggcorrplot(corr, hc.order = F,
type = "lower",
show.diag = T,
pch = 12,
pch.cex = 12,
tl.cex = 12,
lab = TRUE,
lab_size = 3,
method="circle",
colors = c("tomato2", "white", "springgreen3"),
title="Matrix de correlação",
ggtheme=theme_bw)