Conforme o Atlas da Vulnerabilidade Social nos Municípios Brasileiro (COSTA; MARGUTI, 2015) “O IVS é o resultado da média aritmética dos subíndices: IVS Infraestrutura Urbana, IVS Capital Humano e IVS Renda e Trabalho, cada um deles entra no cálculo do IVS final com o mesmo peso.”
Vamos construir o IVSbg seguindo essa metodologia: \[IVSbg = \frac{(IU + CH + ReT)}{3}\]
O AVS-IPEA “utilizou dezesseis indicadores calculados a partir das variáveis dos censos demográficos do IBGE, para os anos de 2000 e 2010 – tabulados para o ADH no Brasil – com seus respectivos pesos. Para a construção de cada dimensão do IVS, utilizando os pesos equivalentes para cada indicador, foi necessário utilizar parâmetros máximos e mínimos, em cada indicador, para transformá-lo, também, num indicador padronizado, com valores variando de 0,000 a 1,000.”
Para o cálculo dos subíndices, diferentemente do AVS-IPEA, vamos utilizar os seguintes indicadores (seguindo Medeiros, et al (2020): VULNERABILIDADE SOCIAL NO MUNICÍPIO DE CAMPINA GRANDE):
Condição de ocupação do domicílio - Domicílios particulares permanentes próprios e quitados (DPO).
Aglomeração - Média do número de moradores em domicílios particulares permanentes (MDP).
Renda per capita- Renda per capita de mais de 2 a 3 salários mínimos (RPC).
Escolaridade - Chefe da família alfabetizado (CFA).
Condição sanitária - Domicílios particulares permanentes com banheiro de uso exclusivo e conectado à rede de esgoto (DBR).
Acesso à água, energia elétrica e destino de lixo - Domicílios particulares permanentes, por forma deabastecimento de água, segundo a existência de banheiro ou sanitário e esgotamento sanitário, o destino do lixo e a existência de energia elétrica (DAE).
Portanto,
\[IU = DPO(0,25) + MDP(0,25) + DBR(0,25) + DAE(0,25) \]
\[CH = CFA(1,0)\]
\[ReT = RPC(1,0)\]
Para informações sobre as variáveis, consulte “BASE DE INFORMAАхES POR SETOR CENSIT╡RIO Censo 2010 - Universo.pdf”.
Cod_setor: setor censitário
São duas planilhas (Domicilio01_UF.xls e Domicilio02_UF.xls, onde UF é a sigla da Unidade da Federação) que fornecem informações sobre características dos domicílios, informações sobre os moradores por sexo, idade e características do domicílio;
Arquivo Domicílio, características gerais (planilha Domicilio01_UF.xls ou Domicilio01_UF.csv)
DPO: Domicílios particulares permanentes próprios e quitados (V006)
##Lê planilha com dados de Bagé
dpo <- read.csv2("~/Documents/u_tcc/2021_TCC_Viviane/data_out/Domicilio01_BageURB.csv") %>%
select(c(Cod_setor, V006)) %>%
## filtrando "X"
filter(V006 != "X") %>%
##transforma em numeric
mutate_if(is.character, as.numeric)
## agrupa por Cod_setor
# rowwise(Cod_setor) %>%
# ungroup()
class(dpo)
## [1] "data.frame"
str(dpo)
## 'data.frame': 128 obs. of 2 variables:
## $ Cod_setor: num 4.3e+14 4.3e+14 4.3e+14 4.3e+14 4.3e+14 ...
## $ V006 : num 85 62 168 50 48 74 103 175 136 104 ...
head(dpo, n = 3)
## Cod_setor V006
## 1 4.301602e+14 85
## 2 4.301602e+14 62
## 3 4.301602e+14 168
dpo <- dpo %>% mutate(V006norm = 1 - V006/max(V006))
head(dpo)
## Cod_setor V006 V006norm
## 1 4.301602e+14 85 0.7769029
## 2 4.301602e+14 62 0.8372703
## 3 4.301602e+14 168 0.5590551
## 4 4.301602e+14 50 0.8687664
## 5 4.301602e+14 48 0.8740157
## 6 4.301602e+14 74 0.8057743
range(dpo$V006)
## [1] 0 381
range(dpo$V006norm)
## [1] 0 1
ggplot(dpo, aes(x=Cod_setor, y = V006norm)) +
geom_line()+
geom_point()
São duas planilhas (planilha Básico_UF.xls ou Básico_UF.csv) no entanto vou utilizar a CSV.
MDP:Renda per capita- Renda per capita de mais de 2 a 3 salários mínimos. (V003)
mdp <- read.csv("~/Documents/u_tcc/2021_TCC_Viviane/data_out/Basico_BageURB.csv", sep = ";",
dec = ",") %>%
select(c(Cod_setor, V003)) %>%
## filtrando "X"
filter(V003 != "X") %>%
##transforma em numeric
mutate_if(is.character, as.numeric)
mdp <- mdp %>% mutate(V003norm = V003/max(V003))
str(mdp)
## 'data.frame': 127 obs. of 3 variables:
## $ Cod_setor: num 4.3e+14 4.3e+14 4.3e+14 4.3e+14 4.3e+14 ...
## $ V003 : num 2.24 2.12 2.85 2.35 2.69 2.51 2.8 2.99 2.3 2.41 ...
## $ V003norm : num 0.617 0.584 0.785 0.647 0.741 ...
colnames(mdp)
## [1] "Cod_setor" "V003" "V003norm"
head(mdp)
## Cod_setor V003 V003norm
## 1 4.301602e+14 2.24 0.6170799
## 2 4.301602e+14 2.12 0.5840220
## 3 4.301602e+14 2.85 0.7851240
## 4 4.301602e+14 2.35 0.6473829
## 5 4.301602e+14 2.69 0.7410468
## 6 4.301602e+14 2.51 0.6914601
range(mdp$V003)
## [1] 2.12 3.63
range(mdp$V003norm)
## [1] 0.584022 1.000000
#View(mdp)
São duas planilhas (planilha Domicilio02_UF.xls ouDomicilio02_UF.csv) no entanto vou utilizar a CSV.
DBR:Condição sanitária - Domicílios particulares permanentes com banheiro de uso exclusivo e conectado à rede de esgoto (V017).
dbr<-read.csv("~/Documents/u_tcc/2021_TCC_Viviane/data_out/Domicilio02_BageURB.csv", sep=";") %>%
select(c(Cod_setor, V017)) %>%
## filtrando "X"
filter(V017 != "X") %>%
##transforma em numeric
mutate_if(is.character, as.numeric)
## Normaliza
dbr <- dbr %>% mutate(V017norm = 1 - V017/max(V017))
str(dbr)
## 'data.frame': 128 obs. of 3 variables:
## $ Cod_setor: num 4.3e+14 4.3e+14 4.3e+14 4.3e+14 4.3e+14 ...
## $ V017 : num 318 440 795 253 226 334 471 554 456 499 ...
## $ V017norm : num 0.678 0.555 0.196 0.744 0.771 ...
head(dbr)
## Cod_setor V017 V017norm
## 1 4.301602e+14 318 0.6784631
## 2 4.301602e+14 440 0.5551062
## 3 4.301602e+14 795 0.1961577
## 4 4.301602e+14 253 0.7441860
## 5 4.301602e+14 226 0.7714863
## 6 4.301602e+14 334 0.6622851
range(dbr$V017)
## [1] 0 989
range(dbr$V017norm)
## [1] 0 1
de abastecimento de água, segundo a existência de banheiro ou sanitário e esgotamento sanitário, o destino do lixo e a existência de energia elétrica (DAE).
Essa variável (DAE) será dividida em 3:
Forma de abastecimento de água: Rede geral de distribuição - quando o domicílio ou o terreno, ou a propriedade onde estava localizado, estava ligado a uma rede geral de distribuição de água. Aqui temos duas alternativas: Domicílios particulares permanentes com abastecimento de água da rede geral (Domicilio01_UF.csv) ou Domicílios particulares permanentes com lixo coletado e abastecimento de água da rede geral (Domicilio01_UF.csv)
Destino do lixo: O destino do lixo proveniente do domicílio particular permanente foi classificado como: Coletado: Diretamente por serviço de limpeza - quando o lixo do domicílio era coletado diretamente por serviço de empresa pública ou privada; ou Em caçamba de serviço de limpeza - quando o lixo do domicílio era depositado em uma caçamba, tanque ou depósito, fora do domicílio, para depois ser coletado por serviço de empresa pública ou privada;
Energia elétrica: Pesquisou-se a existência, no domicílio particular permanente, de energia elétrica e, para o domicílio que possuía, investigou-se a sua origem: de companhia distribuidora ou de outra fonte (eólica, solar, gerador etc.).
DPA: Acesso à água (V012)
DPA <- read.csv("~/Documents/u_tcc/2021_TCC_Viviane/data_out/Domicilio01_BageURB.csv",
sep = ";") %>%
select(c(Cod_setor, V012)) %>%
## filtrando "X"
filter(V012 != "X") %>%
##transforma em numeric
mutate_if(is.character, as.numeric)
## Normaliza
DPA <- DPA %>% mutate(V012norm = 1 - V012/max(V012))
head(DPA)
## Cod_setor V012 V012norm
## 1 4.301602e+14 148 0.6621005
## 2 4.301602e+14 209 0.5228311
## 3 4.301602e+14 281 0.3584475
## 4 4.301602e+14 109 0.7511416
## 5 4.301602e+14 83 0.8105023
## 6 4.301602e+14 133 0.6963470
range(DPA$V012)
## [1] 0 438
range(DPA$V012norm)
## [1] 0 1
São duas planilhas (Domicilio01_UF.xls ou Domicilio01_UF.csv) no entanto vou utilizar a CSV.
lixo: Domicílios particulares permanentes com lixo coletado (V035)
DPL <- read.csv("~/Documents/u_tcc/2021_TCC_Viviane/data_out/Domicilio01_BageURB.csv",
sep = ";") %>%
select(c(Cod_setor, V035)) %>%
## filtrando "X"
filter(V035 != "X") %>%
##transforma em numeric
mutate_if(is.character, as.numeric)
## Normaliza
DPL <- DPL %>% mutate(V035norm = 1 - V035/max(V035))
head(DPL)
## Cod_setor V035 V035norm
## 1 4.301602e+14 148 0.6643991
## 2 4.301602e+14 212 0.5192744
## 3 4.301602e+14 281 0.3628118
## 4 4.301602e+14 109 0.7528345
## 5 4.301602e+14 84 0.8095238
## 6 4.301602e+14 133 0.6984127
range(DPL$V035)
## [1] 0 441
range(DPL$V035norm)
## [1] 0 1
São duas planilhas (Domicilio01_UF.xls ou Domicilio01_UF.csv) no entanto vou utilizar a CSV.
DPPE: Domicílios particulares permanentes com energia elétrica(V043)
DPPE <- read.csv("~/Documents/u_tcc/2021_TCC_Viviane/data_out/Domicilio01_BageURB.csv",
sep = ";") %>%
select(c(Cod_setor, V043)) %>%
## filtrando "X"
filter(V043 != "X") %>%
##transforma em numeric
mutate_if(is.character, as.numeric)
## Normaliza
DPPE <- DPPE %>% mutate(V043norm = 1 - V043/max(V043))
head(DPPE)
## Cod_setor V043 V043norm
## 1 4.301602e+14 148 0.6732892
## 2 4.301602e+14 212 0.5320088
## 3 4.301602e+14 281 0.3796909
## 4 4.301602e+14 109 0.7593819
## 5 4.301602e+14 84 0.8145695
## 6 4.301602e+14 133 0.7064018
range(DPPE$V043)
## [1] 0 453
range(DPPE$V043norm)
## [1] 0 1
Portanto, o DAE ficará assim:
df.dae <- full_join(x = DPA, y = DPL, by = "Cod_setor") %>%
full_join(x = ., y = DPPE, by = "Cod_setor") %>%
mutate(dae = 0.4*V012norm + 0.3*V035norm + 0.3*V043norm)
head(df.dae)
## Cod_setor V012 V012norm V035 V035norm V043 V043norm dae
## 1 4.301602e+14 148 0.6621005 148 0.6643991 148 0.6732892 0.6661467
## 2 4.301602e+14 209 0.5228311 212 0.5192744 212 0.5320088 0.5245174
## 3 4.301602e+14 281 0.3584475 281 0.3628118 281 0.3796909 0.3661298
## 4 4.301602e+14 109 0.7511416 109 0.7528345 109 0.7593819 0.7541215
## 5 4.301602e+14 83 0.8105023 84 0.8095238 84 0.8145695 0.8114289
## 6 4.301602e+14 133 0.6963470 133 0.6984127 133 0.7064018 0.6999832
dim(df.dae)
## [1] 128 8
range(df.dae$dae)
## [1] 0 1
df.IU <- full_join(x = select(dpo, Cod_setor, dpo = V006norm),
y = select(mdp, Cod_setor, mdp = V003norm),
by = "Cod_setor") %>%
full_join(x = .,
y = select(dbr, Cod_setor, dbr = V017norm),
by = "Cod_setor") %>%
full_join(x = .,
y = select(df.dae, Cod_setor, dae),
by = "Cod_setor") %>%
mutate(IU = 0.25*dpo +0.25*mdp + 0.25*dbr + 0.25*dae)
head(df.IU)
## Cod_setor dpo mdp dbr dae IU
## 1 4.301602e+14 0.7769029 0.6170799 0.6784631 0.6661467 0.6846481
## 2 4.301602e+14 0.8372703 0.5840220 0.5551062 0.5245174 0.6252290
## 3 4.301602e+14 0.5590551 0.7851240 0.1961577 0.3661298 0.4766167
## 4 4.301602e+14 0.8687664 0.6473829 0.7441860 0.7541215 0.7536142
## 5 4.301602e+14 0.8740157 0.7410468 0.7714863 0.8114289 0.7994945
## 6 4.301602e+14 0.8057743 0.6914601 0.6622851 0.6999832 0.7148757
str(df.IU)
## 'data.frame': 129 obs. of 6 variables:
## $ Cod_setor: num 4.3e+14 4.3e+14 4.3e+14 4.3e+14 4.3e+14 ...
## $ dpo : num 0.777 0.837 0.559 0.869 0.874 ...
## $ mdp : num 0.617 0.584 0.785 0.647 0.741 ...
## $ dbr : num 0.678 0.555 0.196 0.744 0.771 ...
## $ dae : num 0.666 0.525 0.366 0.754 0.811 ...
## $ IU : num 0.685 0.625 0.477 0.754 0.799 ...
summary(df.IU)
## Cod_setor dpo mdp dbr
## Min. :4.302e+14 Min. :0.0000 Min. :0.5840 Min. :0.0000
## 1st Qu.:4.302e+14 1st Qu.:0.4088 1st Qu.:0.7713 1st Qu.:0.3673
## Median :4.302e+14 Median :0.5341 Median :0.8264 Median :0.5273
## Mean :4.302e+14 Mean :0.5268 Mean :0.8144 Mean :0.5217
## 3rd Qu.:4.302e+14 3rd Qu.:0.6391 3rd Qu.:0.8733 3rd Qu.:0.6628
## Max. :4.302e+14 Max. :1.0000 Max. :1.0000 Max. :1.0000
## NA's :1 NA's :2 NA's :1
## dae IU
## Min. :0.0000 Min. :0.2800
## 1st Qu.:0.3183 1st Qu.:0.4970
## Median :0.4286 Median :0.5733
## Mean :0.4277 Mean :0.5666
## 3rd Qu.:0.5297 3rd Qu.:0.6385
## Max. :1.0000 Max. :0.8096
## NA's :1 NA's :3
Chefe da família alfabetizado (CFA): Pessoas Responsáveis alfabetizados - planilha Responsavel02_UF.csv - V093.
Alfabetização: Considerou-se como alfabetizada a pessoa capaz de ler e escrever um bilhete simples no idioma que conhecesse. Foi considerada analfabeta a pessoa que aprendeu a ler e escrever, mas que esqueceu devido a ter passado por um processo de alfabetização que não se consolidou e a que apenas assinava o próprio nome.
CH <- read.csv("~/Documents/u_tcc/2021_TCC_Viviane/data_out/Responsavel02_BageURB.csv",
sep = ";") %>%
select(c(Cod_setor, V093)) %>%
## filtrando "X"
filter(V093 != "X") %>%
##transforma em numeric
mutate_if(is.character, as.numeric)
## Normaliza
CH <- CH %>% mutate(V093norm = 1 - V093/max(V093))
head(CH)
## Cod_setor V093 V093norm
## 1 4.301602e+14 148 0.6425121
## 2 4.301602e+14 211 0.4903382
## 3 4.301602e+14 277 0.3309179
## 4 4.301602e+14 109 0.7367150
## 5 4.301602e+14 84 0.7971014
## 6 4.301602e+14 129 0.6884058
range(CH$V093)
## [1] 0 414
range(CH$V093norm)
## [1] 0 1
Renda per capita- Renda per capita de mais de 2 a 3 salários mínimos (RPC).
Domicílios particulares com rendimento nominal mensal domiciliar per capita de mais de 2 a 3 salários mínimos. (V010)
São duas planilhas (planilha DomicílioRenda_UF.xls ou Domicílio Renda _UF.csv), no entanto vou utilizar a CSV.
RPC:Renda per capita- Renda per capita de mais de 2 a 3 salários mínimos
RPC<- read.csv("~/Documents/u_tcc/2021_TCC_Viviane/data_out/DomicilioRenda_BageURB.csv",
sep = ";") %>%
select(c(Cod_setor, V010)) %>%
## filtrando "X"
filter(V010 != "X") %>%
##transforma em numeric
mutate_if(is.character, as.numeric)
## Normaliza
RPC <- RPC %>% mutate(V010norm = 1 - V010/max(V010))
head(RPC)
## Cod_setor V010 V010norm
## 1 4.301602e+14 30 0.5000000
## 2 4.301602e+14 35 0.4166667
## 3 4.301602e+14 41 0.3166667
## 4 4.301602e+14 11 0.8166667
## 5 4.301602e+14 16 0.7333333
## 6 4.301602e+14 20 0.6666667
range(RPC$V010)
## [1] 0 60
range(RPC$V010norm)
## [1] 0 1
df.ivs <- full_join(x = select(df.IU, Cod_setor, IU),
y = select(CH, Cod_setor, CH = V093norm),
by = "Cod_setor") %>%
full_join(x = .,
y = select(RPC, Cod_setor, ReT = V010norm),
by = "Cod_setor") %>%
mutate(ivs = (IU + CH + ReT)/3)
head(df.ivs)
## Cod_setor IU CH ReT ivs
## 1 4.301602e+14 0.6846481 0.6425121 0.5000000 0.6090534
## 2 4.301602e+14 0.6252290 0.4903382 0.4166667 0.5107446
## 3 4.301602e+14 0.4766167 0.3309179 0.3166667 0.3747337
## 4 4.301602e+14 0.7536142 0.7367150 0.8166667 0.7689986
## 5 4.301602e+14 0.7994945 0.7971014 0.7333333 0.7766431
## 6 4.301602e+14 0.7148757 0.6884058 0.6666667 0.6899827
summary(df.ivs)
## Cod_setor IU CH ReT
## Min. :4.302e+14 Min. :0.2800 Min. :0.0000 Min. :0.0000
## 1st Qu.:4.302e+14 1st Qu.:0.4970 1st Qu.:0.3092 1st Qu.:0.5125
## Median :4.302e+14 Median :0.5733 Median :0.4143 Median :0.6917
## Mean :4.302e+14 Mean :0.5666 Mean :0.4160 Mean :0.6526
## 3rd Qu.:4.302e+14 3rd Qu.:0.6385 3rd Qu.:0.5145 3rd Qu.:0.8333
## Max. :4.302e+14 Max. :0.8096 Max. :1.0000 Max. :1.0000
## NA's :3 NA's :1 NA's :1
## ivs
## Min. :0.1882
## 1st Qu.:0.4521
## Median :0.5520
## Mean :0.5401
## 3rd Qu.:0.6291
## Max. :0.8108
## NA's :3
diff(range(df.ivs$Cod_setor))
## [1] 1.7e+07
#View(df.ivs)
ggplot(df.ivs, aes(x=Cod_setor, y = IU)) +
geom_line()+
geom_point()
## Warning: Removed 1 row(s) containing missing values (geom_path).
## Warning: Removed 3 rows containing missing values (geom_point).
#Salvando dados
saveRDS(object = df.ivs, file = "~/Documents/u_tcc/2021_TCC_Viviane/data_out/IVS_bage_URB.rds")