############################################################################################ #Pesquisa: Índice de Vulnerabilidade Social do Distrito Federal - IVS-DF #Instituto de Pesquisa e Estatística do Distrito Federal - IPEDF Codeplan #Diretoria de Estudos e Políticas Sociais - DIPOS #Contato - Email: politicas.sociais@ipe.df.gov.br ########################################################################################### library(devtools) devtools::install_github("rpradosiqueira/sidrar") # Lendo pacotes ------------------------------------------------------ library(RODBC) library(DBI) library(tidyverse) library(survey) library(srvyr) library(sidrar) library(dplyr) library(data.table) ########################## IVS-DF 2018 ######################################## # Leitura dos arquivos do servidor ------------------------------------------ ### Conexão ODBC/ db <- RODBC::odbcConnect("db_codeplan", uid="codeplan", pwd="codeplan") tabelas <- RODBC::sqlTables(db) ### Arquivo domicílios pdad_dom_201833 <- RODBC::sqlQuery(db,"select * from pdad.dom2018_33ras", stringsAsFactors=F) %>% dplyr::rename(A01nficha= A01nFicha, A01npessoas=A01nPessoas, A01nfamilias=A01nFamilias) # Arquivo moradores pdad_pes_201833 <- RODBC::sqlQuery(db,"select * from pdad.mor2018_33ras", stringsAsFactors=F) #retirar notação científica options(scipen = 999) ##Escolaridade----- for(i in 1:nrow(pdad_pes_201833)){ if((pdad_pes_201833$idade_calculada[i] > 0)){ if(pdad_pes_201833$F01[i] == 2){pdad_pes_201833$escolaridade[i] <- 1} else if(pdad_pes_201833$F01[i] == 1 & (pdad_pes_201833$F02[i] == 4 | (pdad_pes_201833$F02[i] < 3 & pdad_pes_201833$F07[i] == 3) | (pdad_pes_201833$F02[i] == 3 & pdad_pes_201833$F11[i] == 1))){pdad_pes_201833$escolaridade[i] <- 2} else if(pdad_pes_201833$F01[i] == 1 & pdad_pes_201833$F02[i] < 4 & (((pdad_pes_201833$F07[i] == 4 | pdad_pes_201833$F07[i] == 7)) | ((pdad_pes_201833$F11[i] == 2 | pdad_pes_201833$F11[i] == 3 | pdad_pes_201833$F11[i] == 5) & pdad_pes_201833$F13[i] == 2) | ((pdad_pes_201833$F11[i] == 2 & pdad_pes_201833$F12[i] < 8) | (pdad_pes_201833$F11[i] == 3 & pdad_pes_201833$F12[i] < 9)))) {pdad_pes_201833$escolaridade[i] <- 3} else if(pdad_pes_201833$F01[i] == 1 & pdad_pes_201833$F02[i] == 3 & (((pdad_pes_201833$F11[i] == 2 | pdad_pes_201833$F11[i] == 3 | pdad_pes_201833$F11[i] == 5) & pdad_pes_201833$F13[i] == 1) | ((pdad_pes_201833$F11[i] == 2 & pdad_pes_201833$F12[i] == 8) | (pdad_pes_201833$F11[i] == 3 & pdad_pes_201833$F12[i] == 9)))) {pdad_pes_201833$escolaridade[i] <- 4} else if(pdad_pes_201833$F01[i] == 1 & pdad_pes_201833$F02[i] < 4 & ((pdad_pes_201833$F07[i] == 5 | pdad_pes_201833$F07[i] == 6 | pdad_pes_201833$F07[i] == 8) | ((pdad_pes_201833$F11[i] == 4 | pdad_pes_201833$F11[i] == 6) & (pdad_pes_201833$F13[i] == 2 | pdad_pes_201833$F12[i] < 3)))) {pdad_pes_201833$escolaridade[i] <- 5} else if(pdad_pes_201833$F01[i] == 1 & pdad_pes_201833$F02[i] == 3 & ((pdad_pes_201833$F11[i] == 4 | pdad_pes_201833$F11[i] == 6) & (pdad_pes_201833$F13[i] == 1 | pdad_pes_201833$F12[i] == 3))) {pdad_pes_201833$escolaridade[i] <- 6} else if(pdad_pes_201833$F01[i] == 1 & pdad_pes_201833$F02[i] < 4 & ((pdad_pes_201833$F07[i] == 9) | ((pdad_pes_201833$F11[i] == 7) & pdad_pes_201833$F13[i] == 2))) {pdad_pes_201833$escolaridade[i] <- 7} else if(pdad_pes_201833$F01[i] == 1 & pdad_pes_201833$F02[i] < 4 & ((pdad_pes_201833$F07[i] >= 10 & pdad_pes_201833$F07[i] <= 12) | (pdad_pes_201833$F11[i] >= 8 & pdad_pes_201833$F11[i] <= 10) | ((pdad_pes_201833$F11[i] == 7) & pdad_pes_201833$F13[i] == 1))) {pdad_pes_201833$escolaridade[i] <- 8} else{pdad_pes_201833$escolaridade[i] <- 99} } else{pdad_pes_201833$escolaridade[i] <- 88} } # 3 = Sem EF completo # 4 = Com EF completo # 5 = Sem EM completo # 6 = Com EM completo ##Inflator geral------ # Calcular inflator geral, para referência de jul/2018 inflator_geral <- dplyr::bind_rows( sidrar::get_sidra(api='/t/1419/n6/5300108/v/63/p/201803,201804,201805,201806,201807/c315/7169/d/v63%202') %>% dplyr::select("Mês (Código)","Mês","Valor") %>% dplyr::rename_all(list(~c("ref","ref1","valor"))) %>% dplyr::mutate(MES_N=as.numeric(substr(ref,6,6)), MES=str_trim(gsub("[0-9]","",ref1))) %>% dplyr::arrange(-MES_N) %>% dplyr::mutate(inflator_geral=cumprod((valor/100)+1)), sidrar::get_sidra(api='/t/1419/n6/5300108/v/63/p/201807,201808,201809,201810/c315/7169/d/v63%202') %>% dplyr::select("Mês (Código)","Mês","Valor") %>% dplyr::rename_all(list(~c("ref","ref1","valor"))) %>% dplyr::mutate(MES_N=as.numeric(substr(ref,6,6)), MES=str_trim(gsub("[0-9]","",ref1))) %>% dplyr::mutate(inflator_geral=1/cumprod((valor/100)+1))) %>% dplyr::select(MES,inflator_geral) %>% dplyr::mutate(inflator_geral=ifelse(MES=="julho",1,inflator_geral)) %>% dplyr::distinct() ### Renda domiciliar per capita renda_dom <- pdad_pes_201833 %>% # Mudar para ausente os valores das variáveis G16,G19,G201 até G204 com códigos 77777 ou 88888. # Mudar para 0 quando os valores que não se aplicarem ou não forem observados rendimentos dplyr::mutate_at(vars(G16,G19,G201:G204), # Variáveis a serem alteradas list(M=~case_when(. %in% c(77777,88888)~NA_real_, . %in% c(66666,99999)~0, TRUE~as.numeric(.)))) %>% # Selecionar apenas as variáveis de interesse dplyr::select(A01nficha,E02,G16,G19,G201:G204,G16_M:G204_M) %>% # Desconsiderar os empregados domésticos moradores, seus parentes e os pensionistas dplyr::filter(!E02 %in% c(16,17,18)) %>% # Somar as variáveis modificadas para construir a renda individual dplyr::mutate(renda_individual=rowSums(.[,c("G16_M","G19_M", "G201_M","G202_M", "G203_M","G204_M")],na.rm = F)) %>% # Agrupar por domicílio dplyr::group_by(A01nficha) %>% # Somar os valores por domicílios dplyr::summarise(renda_dom=sum(renda_individual, na.rm = F), # Construir o número de pessoas no domicílio, por esse critério de rendimento pessoas=n(), # Calcular a renda domiciliar per capita renda_dom_pc=renda_dom/pessoas) #Fazer a junção das bases----- # Fazer a junção das bases pdad_201833 <- pdad_dom_201833 %>% # Trazer as informações de pessoas para domicílios dplyr::left_join(pdad_pes_201833 %>% dplyr::select(-FATOR_PROJ), by=c("A01ra"="A01ra", "A01nficha"="A01nficha")) %>% # Mês da pesquisa dplyr::mutate(MES=months(lubridate::mdy(datavisita)), count_pes=1) %>% # # Fazer a junção das bases de renda domiciliar dplyr::left_join(renda_dom, by="A01nficha") %>% # # Fazer a junção dass bases do inflator geral dplyr::left_join(inflator_geral) ## ajustar o nome das RAs----- pdad_201833 <- pdad_201833 %>% dplyr::mutate(RA_nome=factor(A01ra, labels = c("Plano Piloto", "Gama", "Taguatinga", "Brazlândia", "Sobradinho", "Planaltina", "Paranoá", "Núcleo Bandeirante", "Ceilândia", "Guará", "Cruzeiro", "Samambaia", "Santa Maria", "São Sebastião", "Recanto Das Emas", "Lago Sul", "Riacho Fundo", "Lago Norte", "Candangolândia", "Águas Claras", "Riacho Fundo II", "Sudoeste e Octogonal", "Varjão", "Park Way", "SCIA / Estrutural", "Sobradinho II", "Jardim Botânico", "Itapoã", "SIA", "Vicente Pires", "Fercal", "Sol Nascente / Pôr do Sol", "Arniqueira"))) # Declarando o desenho amostral da pesquisa ------ sample.pdad2018 <- survey::svydesign(id = ~A01nficha, strata = ~A01setor, weights = ~PESO_PRE, nest=TRUE, data=pdad_201833) # Criar um objeto para pós estrato post.pop <- pdad_201833 %>% # Agrupar por pos estrato dplyr::group_by(POS_ESTRATO) %>% # Calcular a população dplyr::summarise(Freq=first(POP_AJUSTADA_PROJ)) %>% # Desagrupar dplyr::ungroup() # Declarar o objeto de pós-estrato svy2018 <- survey::postStratify(sample.pdad2018,~POS_ESTRATO,post.pop) # Criar objeto para calcular os erros por bootstrap (Rao and Wu’s(n − 1) bootstrap) svy2018 <- survey::as.svrepdesign(svy2018, type = "subbootstrap") # Deixar no formato Tibble svy svy2018 <- srvyr::as_survey(svy2018) # Ajustar estratos com apenas uma UPA (adjust=centered) options( survey.lonely.psu = "adjust") # DIMENSÃO 1 - INFRAESTRUTURA E AMBIÊNCIA URBANA ################################### ##1) IVS Acesso a saneamento básico - DIAU 1 ------------- col_sem_lixo_agua_esgoto_diau_t <- svy2018 %>% srvyr::mutate( ## pessoa em domicílio sem coleta de lixo sem_lixo_ivs_diau = ifelse((B161==2 & B162==2), 1, 0), ## pessoa em domicílio sem água agua_ivs_diau = ifelse(B141==2, 1, 0), ## pessoa em domicílio sem esgoto esgoto_ivs_diau = ifelse(B151==2 & B152==2, 1, 0), ## pessoa em domicílio que não tem pelo menos coleta de lixo, água ou esgoto sem_lixo_agua_esgoto_diau = case_when(agua_ivs_diau==1| esgoto_ivs_diau==1| sem_lixo_ivs_diau==1 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(sem_lixo_agua_esgoto_diau_m = survey_mean(sem_lixo_agua_esgoto_diau ,vartype=c("cv")), .fill="DF") ## 2) IVS Tempo de deslocamento - DIAU 2 ------------- vulbr_tempo_diau_t <- svy2018 %>% srvyr::filter(idade_calculada>=14 & G05 %in% c(1:3) & G15!=99) %>% srvyr::mutate( # pessoa 14 anos ou mais ocupada com tempo de deslocamento maior que 1 hora vulbr_tempo_diau=case_when(G15 %in% c(5:8) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(vulbr_tempo_diau_m=survey_mean(vulbr_tempo_diau,vartype=c("cv")), .fill="DF") ## 3) IVS Condição viária - DIAU 3 ------------- viario_diau_t <- svy2018 %>% ### Denominador => População total srvyr::mutate( ## pessoas em domicílios que não tem alfalto/pavimentação, iluminação e alagamento viario_diau = case_when(B181==2 & B185==2 & B192==1 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(viario_diau_m=survey_mean(viario_diau,vartype=c("cv")), .fill="DF") ## 4) IVS Condição da calçada - DIAU 4 ------------- calcada_diau_t <- svy2018 %>% ### Denominador => População total srvyr::mutate( # pessoas que vivem em domicílios cuja rua não tem calçada ou calçada é ruim ou não tem meio-fio calcada_diau=case_when(B182==2 | B183==2 | B184==4 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(calcada_diau_m=survey_mean(calcada_diau,vartype=c("cv")), .fill="DF") ## 5) IVS Ambiência urbana - DIAU 5 ------------- ambiencia_diau_t <- svy2018 %>% ### Denominador => População total srvyr::mutate( # pessoas que vivem em domicílios cuja rua não é arborizada e não possui parques e jardins ambiencia_diau=case_when(B194==2 & B195==2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(ambiencia_diau_m=survey_mean(ambiencia_diau,vartype=c("cv")), .fill="DF") # DIMENSÃO 2 - CAPITAL HUMANO ################################### ##6) IVS Crianças de 0 a 3 anos fora da escola - DCH 1 ------------- cca0a3_dch_t <- svy2018 %>% #Denominador => Crianças de 0 a 3 anos srvyr::filter(idade_calculada<=3) %>% srvyr::mutate( # Crianças de 0 a 3 anos de idade_calculada que não frequentam creche ou escola cca0a3_dch=case_when(F02 %in% c(3,4) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(cca0a3_dch_m=survey_mean(cca0a3_dch,vartype=c("cv")), .fill="DF") ## 7) IVS Pessoas de 4 a 14 anos fora da escola - DCH 2 ------------- pes4a14foraesc_dch_t <- svy2018 %>% #Denominador => Pessoas de 4 a 14 anos srvyr::filter(idade_calculada>=4 & idade_calculada<=14) %>% srvyr::mutate( # pessoas de 4 a 14 anos de idade_calculada que não frequentam creche ou escola pes4a14foraesc_dch=case_when(F02 %in% c(3,4) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes4a14foraesc_dch_m=survey_mean(pes4a14foraesc_dch,vartype=c("cv")), .fill="DF") ## 8) IVS Mulheres 14 a 17 anos que tiveram filhos - DCH 3 ------------- mul14a17comfilhos_dhc_t <- svy2018 %>% #Denominador => Mulheres de 10 a 17 anos filter((E03==2)&(idade_calculada>=14 & idade_calculada<=17)) %>% srvyr::mutate( # Mulheres de 14 a 17 anos de idade_calculada que tiveram filhos ENTRE mulheres nesta faixa etária mul14a17comfilhos=case_when(H011==2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(mul14a17comfilhos_m=survey_mean(mul14a17comfilhos,vartype=c("cv")), .fill="DF") ## 9) IVS Taxa de analfabetismo 15 anos e mais - DCH 4 ------------- analf_15mais_dch_t <- svy2018 %>% #Denominador => Pessoas de 15 anos e mais srvyr::filter(idade_calculada>=15) %>% srvyr::mutate( # População de 15 anos ou mais de idade_calculada que não sabe ler nem escrever um bilhete simples analf_15mais_dch=case_when(F01==2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(analf_15mais_dch_m=survey_mean(analf_15mais_dch,vartype=c("cv")), .fill="DF") ## 10) IVS Pessoas com até 14 anos vivendo em domicílio em que nenhum membro tem ensino fundamental completo - DCH 5 ------------- pesme14_domsemef_dch_t <- svy2018 %>% ##quantas pessoas de 14 anos ou mais não concluíram EF no domicílio dplyr::group_by(A01nficha) %>% # Quantidade_calculada de pessoas ensino fundamental completo srvyr::mutate(qtd_sem_ef_completo=sum(escolaridade %in% c(1:3))) %>% # Desagrupar srvyr::ungroup() %>% #Todo mundo do domicílio não tem EF completo srvyr::mutate(ninguem_domcom_ef_comp=case_when(qtd_sem_ef_completo==A01npessoas ~1, TRUE ~0)) %>% #Denominador => Pessoas de até 14 anos srvyr::filter(idade_calculada<=14) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(ninguem_domcom_ef_comp_m=survey_mean(ninguem_domcom_ef_comp,vartype=c("cv")), .fill="DF") ## 11) IVS Pessoas de 15 a 24 anos nem-nem - DCH 6 BR ------------- nemenm15a24_dch_t <- svy2018 %>% #Denominador => Pessoas de 15 a 24 anos srvyr::filter(idade_calculada>=15 & idade_calculada <=24) %>% srvyr::mutate( # Nem-nem de 15 a 24 anos (pessoas de 15 a 24 anos que não estudam, não trabalham) nemenm15a24_dch=case_when(G05==4 & F02 %in% c(3,4)~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(nemenm15a24_dch_m=survey_mean(nemenm15a24_dch,vartype=c("cv")), .fill="DF") ## 12) IVS Pessoas de 15 a 18 anos que não concluíram o ensino fundamental - DCH 7 ------------- sem_ef15a18_dch_t <- svy2018 %>% #Denominador => Pessoas de 15 a 18 anos srvyr::filter(idade_calculada>=15 & idade_calculada <=18) %>% srvyr::mutate( # não concluíram o ensino fundamental sem_ef15a18_dch =case_when(escolaridade %in% c(1:3) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(sem_ef15a18_dch_m =survey_mean(sem_ef15a18_dch,vartype=c("cv")), .fill="DF") ## 13) IVS Pessoas de 19 anos a 24 que não concluíram o ensino médio - DCH 8 DF ------------- sem_em19a24_dch_t <- svy2018 %>% #Denominador => Pessoas de 19 a 24 anos srvyr::filter(idade_calculada>=19 & idade_calculada <=24) %>% srvyr::mutate( # não concluíram o ensino médio sem_em19a24 =case_when((escolaridade %in% c(1:5)) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(sem_em19a24_m =survey_mean(sem_em19a24,vartype=c("cv")), .fill="DF") # DIMENSÃO 3 - RENDA E TRABALHO ################################### ## 14) IVS Pessoas vulneráveis à pobreza BRASIL (RDPC < 1/2 SM) - DRT 1 ------------- pesvulpobr_drt_t <- svy2018 %>% #Denominador => População total srvyr::mutate( # pessoas vulneráveis à pobreza (RDPC < 1/2 SM BR) pesvulpobr_drt=case_when((renda_dom_pc*inflator_geral)<=954/2~1, TRUE~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pesvulpobr_drt_m=survey_mean(pesvulpobr_drt,vartype=c("cv")), .fill="DF") ## 15) IVS Pessoas 18 anos e mais em situação de desocupação - DRT 2 ------------- pes18maisdesocup_drt_t <- svy2018 %>% #Denominador => Pessoas de 18 anos e mais srvyr::filter(idade_calculada>=18) %>% srvyr::mutate( # pessoas 18 anos e mais em situação de desocupação pes18maisdesocup_drt=case_when(G05==4 & G01==1 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes18maisdesocup_drt_m=survey_mean(pes18maisdesocup_drt,vartype=c("cv")), .fill="DF") ## 16) IVS Pessoas 18 anos e mais e em ocupação informal (RDPC < 1/2 SM) - DRT 3 ------------- pes18mais_informal_drt_t <- svy2018 %>% #Denominador => Pessoas de 18 anos e mais srvyr::filter(idade_calculada>=18) %>% srvyr::mutate( # pessoas de 18 anos e mais em ocupação informal (RDPC < 1/2 SM) pes18mais_informal_drt_t=case_when(((G08==1|G08==2|G08==14|G08==88)&(G13==3)| (G08==5|G08==6|G08==7|G08==8|G08==9)&(G09==2)| G08==13) & (renda_dom_pc*inflator_geral)<=954/2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular os totais para cada situação srvyr::cascade(pes18mais_informal_drt_t_m=survey_mean(pes18mais_informal_drt_t,vartype=c("cv")), .fill="DF") ## 17) IVS Pessoas 18 anos e mais autônomas (RDPC < 1/2 SM) - DRT 4 ------------- pes18mais_autonomov_drt_t <- svy2018 %>% #Denominador => Pessoas de 18 anos e mais srvyr::filter(idade_calculada>=18) %>% srvyr::mutate( # pessoas autônomas vulneráveis à pobreza (RDPC < 1/2 SM) pes18mais_autonomov = case_when(G08==6 & (renda_dom_pc*inflator_geral)<=954/2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes18mais_autonomov_m=survey_mean(pes18mais_autonomov,vartype=c("cv")), .fill="DF") ## 18) IVS Pessoas fora da FT (população não economicamente ativa 12 meses) (RDPC < 1/2 SM) - DRT 5 ------------- pes18mais_pnea_12m_drt_t <- svy2018 %>% #Denominador => Pessoas de 18 anos e mais srvyr::filter(idade_calculada>=18) %>% srvyr::mutate( # pessoas fora da ft vulneráveis à pobreza (RDPC < 1/2 SM) pes18mais_pnea_12m = case_when(G02==2 & G05==4 & (renda_dom_pc*inflator_geral)<=954/2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes18mais_pnea_12m_m=survey_mean(pes18mais_pnea_12m,vartype=c("cv")), .fill="DF") ## 19) IVS Razão de renda entre homens e mulheres chefes de domicílio - DRT 6 ------------- rdom_pc_r_chefehm_drt_t <- svy2018 %>% mutate( ## renda per capita dos domicilios com homens chefes de domicílio renda_dom_chefe_homem = case_when(E02==1 & E03 == 1 ~(renda_dom_pc*inflator_geral), TRUE ~NA_real_), ## renda per capita dos domicilios com mulheres chefes de domicílio renda_dom_chefe_mulher = case_when(E02==1 & E03 == 2 ~(renda_dom_pc*inflator_geral), TRUE ~NA_real_)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(renda_dom_chefe_homem_m =survey_mean(renda_dom_chefe_homem ,vartype=c("cv"), na.rm = T), renda_dom_chefe_mulher_m =survey_mean(renda_dom_chefe_mulher ,vartype=c("cv"), na.rm = T), .fill="DF") rdom_pc_r_chefehm_raz_drt_t <- rdom_pc_r_chefehm_drt_t %>% mutate(homem_mulher = (renda_dom_chefe_homem_m/renda_dom_chefe_mulher_m), homem_mulher = ifelse(is.infinite(homem_mulher),0,homem_mulher)) rdom_pc_r_chefehm_raz_drt_t <- select (rdom_pc_r_chefehm_raz_drt_t, RA_nome, homem_mulher) # Exportando para arquivos .CSV ------------------------------------------------------ ## Agregando as dimensões----- ### Dimensao 1----- dimensao1 <- col_sem_lixo_agua_esgoto_diau_t %>% # IVS DIAU (1) Acesso a saneamento básico - DIAU 1 left_join(vulbr_tempo_diau_t) %>% # 2) IVS DIAU (2) Tempo de deslocamento - DIAU 2 left_join(viario_diau_t) %>% ### 3) IVS Condição viária - DIAU 3 left_join(calcada_diau_t) %>% # 4) IVS Indicador condição da calçada - DIAU 4 left_join(ambiencia_diau_t) # 5) IVS Indicador ambiência - DIAU 5 ### Dimensao 2----- dimensao2 <- cca0a3_dch_t %>% # 6) IVS Crianças de 0 a 3 anos fora da escola - DCH 1 left_join(pes4a14foraesc_dch_t) %>% # 7) IVS Pessoas de 4 a 14 anos fora da escola - DCH 2 left_join(mul14a17comfilhos_dhc_t) %>% # 8) IVS Mulheres 10 a 17 que tiveram filhos - DCH 3 left_join(analf_15mais_dch_t) %>% # 9) IVS Taxa de analfabetismo 15 anos e mais - DCH 4 left_join(pesme14_domsemef_dch_t) %>% # 10) IVS pessoas (<=14) em domicílios onde nenhum morador tem EF completo - DCH 5 left_join(nemenm15a24_dch_t) %>% # 11) IVS Pessoas de 15 a 24 anos nem-nem - DCH 6 left_join(sem_ef15a18_dch_t) %>% # 12) IVS pessoas de 15 a 18 anos que não concluíram o ensino fundamental - DCH 7 left_join(sem_em19a24_dch_t) # 13) IVS Pessoas de 19 anos a 24 que não concluíram o ensino médio - DCH 8 DF ### Dimensao 3----- dimensao3 <- pesvulpobr_drt_t %>% # 14) IVS Pessoas vulneráveis à pobreza BRASIL (RDPC < 1/2 SM BR) - DRT 1 left_join(pes18maisdesocup_drt_t) %>% # 15) IVS Pessoas 18 anos e mais em situação de desocupação - DRT 2 left_join(pes18mais_informal_drt_t) %>% # 16) IVS Pessoas 18 anos e mais e em ocupação informal (RDPC < 1/2 SM BR) - DRT 3 left_join(pes18mais_autonomov_drt_t) %>% ### 17) IVS Pessoas 18 anos e mais autônomas (RDPC < 1/2 SM BR) - DRT 4 left_join(pes18mais_pnea_12m_drt_t) %>% # 18) IVS Pessoas 18 anos e mais fora da FT (RDPC < 1/2 SM BR) - DRT 5 left_join(rdom_pc_r_chefehm_raz_drt_t) # 19) Razão da renda entre homens e mulheres chefes de domicílio - DRT 6 ########################## IVS-DF 2021 ######################################## # Leitura dos arquivos do servidor ------------------------------------------ db <- RODBC::odbcConnect("db_codeplan", uid="codeplan", pwd="codeplan") pdad_dom <- RODBC::sqlQuery(db,"select * from pdad.dom2021", stringsAsFactors=F) pdad_pes <- RODBC::sqlQuery(db,"select * from pdad.mor2021", stringsAsFactors=F) # Junção das duas bases x <- which((names(pdad_dom)%in%names(pdad_pes))) names(pdad_dom)[x] pdad_2021 <- pdad_pes %>% dplyr::left_join(pdad_dom, by=c("A01ra"="A01ra", "A01nficha"="A01nficha", "A01setor" = "A01setor")) %>% # # Mês da pesquisa dplyr::mutate(MES=months(lubridate::ymd(endtime)), count_pes=1) #table(pdad_2021$A01ra) pdad_2021 <- pdad_2021 %>% ## ajustar o nome das RAs----- dplyr::mutate(RA_nome=factor(A01ra, labels = c("Plano Piloto", "Gama", "Taguatinga", "Brazlândia", "Sobradinho", "Planaltina", "Paranoá", "Núcleo Bandeirante", "Ceilândia", "Guará", "Cruzeiro", "Samambaia", "Santa Maria", "São Sebastião", "Recanto Das Emas", "Lago Sul", "Riacho Fundo", "Lago Norte", "Candangolândia", "Águas Claras", "Riacho Fundo II", "Sudoeste e Octogonal", "Varjão", "Park Way", "SCIA / Estrutural", "Sobradinho II", "Jardim Botânico", "Itapoã", "SIA", "Vicente Pires", "Fercal", "Sol Nascente / Pôr do Sol", "Arniqueira")), # Ajustar os setores de interesse da PDAD 2021 ra_setor=factor(A01setor, labels = c("Asa Norte", "Asa Sul", "Noroeste", "Demais", "Gama", "Taguatinga", "Setor Primavera", "Brazlândia", "Sobradinho", "Planaltina", "Arapoanga", "Paranoá", "Núcleo Bandeirante", "Ceilândia", "Guará", "Cruzeiro", "Samambaia", "Santa Maria", "São Sebastião - Consolidado", "Morro da Cruz", "Recanto das Emas", "Lago Sul", "Riacho Fundo", "Lago Norte", "Candangolândia", "Águas Claras", "Riacho Fundo II" , "Sudoeste e Octogonal", "Varjão", "Park Way", "SCIA - Consolidado", "Chácara Santa Luzia", "Sobradinho II", "Jardim Botânico - Consolidado", "Jardim Mangueiral", "Itapoã", "SIA", "Vicente Pires - Consolidado", "Vinte e Seis de Setembro", "Fercal", "Sol Nascente/Pôr do Sol", "Arniqueira")), ##grupos de rendimento - PED---------------- gruposrenda_ped= factor(case_when(A01ra==1|A01ra==16|A01ra==18|A01ra==22|A01ra==24|A01ra==27 ~ 1, A01ra==2|A01ra==3|A01ra==5|A01ra==8|A01ra==10|A01ra==11|A01ra==19|A01ra==20|A01ra==26|A01ra==30|A01ra==33 ~ 2, A01ra==4|A01ra==6|A01ra==9|A01ra==12|A01ra==13|A01ra==14|A01ra==17|A01ra==21|A01ra==29|A01ra==32 ~ 3, A01ra==7|A01ra==15|A01ra==23|A01ra==25|A01ra==28|A01ra==31 ~ 4), labels = c("Alta", "Média-alta", "Média-baixa", "Baixa")), ##grupos de rendimento - PDAD 2021---------------- gruposrenda_pdad= factor(case_when(A01ra==20|A01ra==27|A01ra==18|A01ra==16|A01ra==24|A01ra==1|A01ra==22 ~1 , A01ra==33|A01ra==19|A01ra==11|A01ra==10|A01ra==8|A01ra==29|A01ra==5|A01ra==3|A01ra==30 ~ 2, A01ra==9|A01ra==2|A01ra==17|A01ra==12|A01ra==13|A01ra==26 ~3, A01ra==4|A01ra==31|A01ra==28|A01ra==7|A01ra==6|A01ra==15| A01ra==21|A01ra==14|A01ra==25|A01ra==32|A01ra==23 ~4), labels = c("Alta", "Média-alta", "Média-baixa", "Baixa"))) # Declarando o desenho amostral da pesquisa - pessoas ------ # Fazer o desenho de PESSOAS amostra_pes <- survey::svydesign(id = ~A01nficha, strata = ~A01setor, weights = ~PESO_MOR, nest=TRUE, data=pdad_2021) #Criar um objeto para pós estrato post.pop <- pdad_2021 %>% dplyr::group_by(POS_ESTRATO) %>% dplyr::summarise(Freq=first(POP_AJUSTADA_PROJ)) %>% dplyr::ungroup() # Declarar o objeto de pós-estrato amostra_pes <- survey::postStratify(amostra_pes,~POS_ESTRATO,post.pop) # Criar objeto para calcular os erros por bootstrap (Rao and Wu’s(n − 1) bootstrap) amostra_pes <- survey::as.svrepdesign(amostra_pes , type = "subbootstrap") # Criar o objeto amostra de pessoas para 2021 # Deixar no formato Tibble svy svy2021 <- srvyr::as_survey(amostra_pes) # Ajustar estratos com apenas uma UPA (adjust=centered) options( survey.lonely.psu = "adjust") # DIMENSÃO 1 - INFRAESTRUTURA E AMBIÊNCIA URBANA ################################### ##1) IVS Acesso a saneamento básico - DIAU 1 ------------- ### Denominador => População total col_sem_lixo_agua_esgoto_diau_t <- svy2021 %>% srvyr::mutate( ## pessoa em domicílio sem coleta de lixo sem_lixo_ivs_diau = ifelse((B16_1==2 & B16_2==2 & B16_3==2), 1, 0), ## pessoa em domicílio sem água agua_ivs_diau = ifelse(B13_1==2, 1, 0), ## pessoa em domicílio sem esgoto esgoto_ivs_diau = ifelse(B14_1==2 & B14_2==2, 1, 0), ## pessoa em domicílio que não tem pelo menos coleta de lixo, água ou esgoto sem_lixo_agua_esgoto_diau = case_when(agua_ivs_diau==1| esgoto_ivs_diau==1| sem_lixo_ivs_diau==1 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(sem_lixo_agua_esgoto_diau_m = survey_mean(sem_lixo_agua_esgoto_diau ,vartype=c("cv")), .fill="DF") ## 2) IVS Tempo de deslocamento - DIAU 2 ------------- ### Denominador => Pessoas ocupadas de 14 anos ou mais que se deslocam diariamente para o trabalho vulbr_tempo_diau_t <- svy2021 %>% srvyr::filter(idade>=14 & I05==1 & I10!=99999) %>% srvyr::mutate( # pessoa 14 anos ou mais ocupada com tempo de deslocamento maior que 1 hora vulbr_tempo_diau=case_when(I10 %in% c(5:9) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(vulbr_tempo_diau_m=survey_mean(vulbr_tempo_diau,vartype=c("cv")), .fill="DF") ## 3) IVS Condição viária - DIAU 3 ------------- viario_diau_t <- svy2021 %>% ### Denominador => População total srvyr::mutate( ## pessoas em domicílios que não tem alfalto/pavimentação, iluminação e alagamento viario_diau = case_when(B17_1==2 & B17_5==2 & B18_5==1 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(viario_diau_m=survey_mean(viario_diau,vartype=c("cv")), .fill="DF") ## 4) IVS Condição da calçada - DIAU 4 ------------- calcada_diau_t <- svy2021 %>% ### Denominador => População total srvyr::mutate( # pessoas que vivem em domicílios cuja rua não tem calçada ou calçada é ruim ou péssima ou não tem meio-fio calcada_diau=case_when(B17_2==2 | B17_3==2 | B17_4 %in% c(4,5) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(calcada_diau_m=survey_mean(calcada_diau,vartype=c("cv")), .fill="DF") ## 5) IVS Ambiência urbana - DIAU 5 ------------- ambiencia_diau_t <- svy2021 %>% ### Denominador => População total srvyr::mutate( # pessoas que vivem em domicílios cuja rua não é arborizada e não possui parques e jardins ambiencia_diau=case_when(B19_1==2 & B19_2==2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(ambiencia_diau_m=survey_mean(ambiencia_diau,vartype=c("cv")), .fill="DF") # DIMENSÃO 2 - CAPITAL HUMANO ################################### ##6) IVS Crianças de 0 a 3 anos fora da escola - DCH 1 ------------- cca0a3_dch_t <- svy2021 %>% #Denominador => Crianças de 0 a 3 anos srvyr::filter(idade<=3) %>% srvyr::mutate( # Crianças de 0 a 3 anos de idade que não frequentam creche ou escola cca0a3_dch=case_when(H02 %in% c(3,4) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(cca0a3_dch_m=survey_mean(cca0a3_dch,vartype=c("cv")), .fill="DF") ## 7) IVS Pessoas de 4 a 14 anos fora da escola - DCH 2 ------------- pes4a14foraesc_dch_t <- svy2021 %>% #Denominador => Pessoas de 4 a 14 anos srvyr::filter(idade>=4 & idade<=14) %>% srvyr::mutate( # pessoas de 4 a 14 anos de idade que não frequentam creche ou escola pes4a14foraesc_dch=case_when(H02 %in% c(3,4) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes4a14foraesc_dch_m=survey_mean(pes4a14foraesc_dch,vartype=c("cv")), .fill="DF") ## 8) IVS Mulheres 10 a 17 anos que tiveram filhos - DCH 3 ------------- mul10a17comfilhos_dhc_t <- svy2021 %>% #Denominador => Mulheres de 10 a 17 anos filter((E04==2)&(idade>=10 & idade<=17)) %>% srvyr::mutate( # Mulheres de 10 a 17 anos de idade que tiveram filhos ENTRE mulheres nesta faixa etária mul10a17comfilhos=case_when(J01==1 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(mul10a17comfilhos_m=survey_mean(mul10a17comfilhos,vartype=c("cv")), .fill="DF") ## 9) IVS Taxa de analfabetismo 15 anos e mais - DCH 4 ------------- analf_15mais_dch_t <- svy2021 %>% #Denominador => Pessoas de 15 anos e mais srvyr::filter(idade>=15) %>% srvyr::mutate( # População de 15 anos ou mais de idade que não sabe ler nem escrever um bilhete simples analf_15mais_dch=case_when(H01==2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(analf_15mais_dch_m=survey_mean(analf_15mais_dch,vartype=c("cv")), .fill="DF") ## 10) IVS Pessoas com até 14 anos vivendo em domicílio em que nenhum membro tem ensino fundamental completo - DCH 5 ------------- pesme14_domsemef_dch_t <- svy2021 %>% ##quantas pessoas de 14 anos ou mais não concluíram EF no domicílio dplyr::group_by(A01nficha) %>% # Quantidade de pessoas ensino fundamental completo srvyr::mutate(qtd_sem_ef_completo=sum(escolaridade %in% c(1,2))) %>% # Desagrupar srvyr::ungroup() %>% #Todo mundo do domicílio não tem EF completo srvyr::mutate(ninguem_domcom_ef_comp=case_when(qtd_sem_ef_completo==A01npessoas ~1, TRUE ~0)) %>% # Denominador => Pessoas de até 14 anos srvyr::filter(idade<=14) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(ninguem_domcom_ef_comp_m=survey_mean(ninguem_domcom_ef_comp,vartype=c("cv")), .fill="DF") ## 11) IVS Pessoas de 15 a 24 anos nem-nem - DCH 6 BR ------------- nemenm15a24_dch_t <- svy2021 %>% #Denominador => Pessoas de 15 a 24 anos srvyr::filter(idade>=15 & idade <=24) %>% srvyr::mutate( # Nem-nem de 15 a 24 anos (pessoas de 15 a 24 anos que não estudam, não trabalham) nemenm15a24_dch=case_when(I05==2 & H02 %in% c(3,4)~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(nemenm15a24_dch_m=survey_mean(nemenm15a24_dch,vartype=c("cv")), .fill="DF") ## 12) IVS Pessoas de 15 a 18 anos que não concluíram o ensino fundamental - DCH 7 ------------- sem_ef15a18_dch_t <- svy2021 %>% #Denominador => Pessoas de 15 a 18 anos srvyr::filter(idade>=15 & idade <=18) %>% srvyr::mutate( # não concluíram o ensino fundamental sem_ef15a18_dch =case_when(escolaridade %in% c(1,2) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(sem_ef15a18_dch_m =survey_mean(sem_ef15a18_dch,vartype=c("cv")), .fill="DF") ## 13) IVS Pessoas de 19 anos a 24 que não concluíram o ensino médio - DCH 8 DF ------------- sem_em19a24_dch_t <- svy2021 %>% #Denominador => Pessoas de 19 a 24 anos srvyr::filter(idade>=19 & idade <=24) %>% srvyr::mutate( # não concluíram o ensino médio sem_em19a24 =case_when((escolaridade %in% c(1:4)) ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(sem_em19a24_m =survey_mean(sem_em19a24,vartype=c("cv")), .fill="DF") # DIMENSÃO 3 - RENDA E TRABALHO ################################### ## 14) IVS Pessoas vulneráveis à pobreza BRASIL (RDPC < 1/2 SM) - DRT 1 ------------- pesvulpobr_drt_t <- svy2021 %>% #Denominador => População total srvyr::mutate( # pessoas vulneráveis à pobreza (RDPC < 1/2 SM BR) pesvulpobr_drt=case_when(renda_domiciliar_pc_r<=1100/2~1, TRUE~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pesvulpobr_drt_m=survey_mean(pesvulpobr_drt,vartype=c("cv")), .fill="DF") ## 15) IVS Pessoas 18 anos e mais em situação de desocupação - DRT 2 ------------- pes18maisdesocup_drt_t <- svy2021 %>% #Denominador => Pessoas de 18 anos e mais srvyr::filter(idade>=18) %>% srvyr::mutate( # pessoas 18 anos e mais em situação de desocupação pes18maisdesocup_drt=case_when(I05==2 & I01==1 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes18maisdesocup_drt_m=survey_mean(pes18maisdesocup_drt,vartype=c("cv")), .fill="DF") ## 16) IVS Pessoas 18 anos e mais e em ocupação informal (RDPC < 1/2 SM) - DRT 3 ------------- pes18mais_informal_drt_t <- svy2021 %>% #Denominador => Pessoas de 18 anos e mais srvyr::filter(idade>=18) %>% srvyr::mutate( # pessoas de 18 anos e mais em ocupação informal (RDPC < 1/2 SM) pes18mais_informal_drt=case_when(((I12==3|I12==4|I12==14|I12==88888)&(I17==2)| (I12==7|I12==8|I12==9|I12==10|I12==11)&(I16==2)| I12==13) & renda_domiciliar_pc_r<=1100/2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes18mais_informal_drt_m=survey_mean(pes18mais_informal_drt,vartype=c("cv")), .fill="DF") ## 17) IVS Pessoas 18 anos e mais autônomas (RDPC < 1/2 SM) - DRT 4 ------------- pes18mais_autonomov_drt_t <- svy2021 %>% #Denominador => Pessoas de 18 anos e mais srvyr::filter(idade>=18) %>% srvyr::mutate( # pessoas autônomas vulneráveis à pobreza (RDPC < 1/2 SM) pes18mais_autonomov = case_when(I12==8 & renda_domiciliar_pc_r<=1100/2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes18mais_autonomov_m=survey_mean(pes18mais_autonomov,vartype=c("cv")), .fill="DF") ## 18) IVS Pessoas fora da FT (população não economicamente ativa 12 meses) (RDPC < 1/2 SM) - DRT 5 ------------- pes18mais_pnea_12m_drt_t <- svy2021 %>% #Denominador => Pessoas de 18 anos e mais srvyr::filter(idade>=18) %>% srvyr::mutate( # pessoas fora da ft vulneráveis à pobreza (RDPC < 1/2 SM) pes18mais_pnea_12m = case_when( I05==2 & I02==2 & renda_domiciliar_pc_r<=1100/2 ~1, TRUE ~0)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(pes18mais_pnea_12m_m=survey_mean(pes18mais_pnea_12m,vartype=c("cv")), .fill="DF") ## 19) IVS Razão de renda entre homens e mulheres chefes de domicílio - DRT 6 ------------- rdom_pc_r_chefehm_drt_t <- svy2021 %>% mutate( ## renda per capita dos domicilios com homens chefes de domicílio renda_dom_chefe_homem = case_when(E05==1 & E04 == 1 ~renda_domiciliar_pc_r, TRUE ~NA_real_), ## renda per capita dos domicilios com mulheres chefes de domicílio renda_dom_chefe_mulher = case_when(E05==1 & E04 == 2 ~renda_domiciliar_pc_r, TRUE ~NA_real_)) %>% # Agrupar por RA srvyr::group_by(RA_nome) %>% # Calcular as médias srvyr::cascade(renda_dom_chefe_homem_m =survey_mean(renda_dom_chefe_homem ,vartype=c("cv"), na.rm = T), renda_dom_chefe_mulher_m =survey_mean(renda_dom_chefe_mulher ,vartype=c("cv"), na.rm = T), .fill="DF") rdom_pc_r_chefehm_raz_drt_t <- rdom_pc_r_chefehm_drt_t %>% mutate(homem_mulher = (renda_dom_chefe_homem_m/renda_dom_chefe_mulher_m), homem_mulher = ifelse(is.infinite(homem_mulher),0,homem_mulher)) rdom_pc_r_chefehm_raz_drt_t <- select (rdom_pc_r_chefehm_raz_drt_t, RA_nome, homem_mulher)