Introdução

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

Infraestrutura Urbana (IU)

Condição de ocupação do domicílio (DPO).

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()

Aglomeração - Média do número de moradores em domicílios particulares permanentes (MDP).

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)

Condição sanitária - Domicílios particulares permanentes com banheiro de uso exclusivo e conectado à rede de esgoto (DBR).

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

Acesso à água, energia elétrica e destino de lixo - Domicílios particulares permanentes, por forma

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.).

Acesso à água: Domicílios particulares permanentes com abastecimento de água da rede geral (Domicilio01_UF.csv)

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

Domicílios particulares permanentes, por forma de destino do lixo.(DPL)

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

Domicílios particulares permanentes, por forma de existência de energia elétrica.(DPPE)

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

Juntando dados IU

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

Capital Humano: CH

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 e Trabalho: ReT

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

IVS

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")