##### Cabeçalho #### #Trajetória dos socioeducandos no Distrito Federal - Meio aberto e semiliberdade 2022 #IPEDF - Instituto de Pesquisa e Estatística do Distrito Federal #Script de abertura dos dados e criação de variáveis #Contato - Email: politicas.sociais@ipe.df.gov.br ##### Pacotes #### rm(list = ls()) library(tidyverse) library(survey) library(srvyr) library(readr) library(readxl) rm(di_medida) ##### Abrir a base ##### meio_aberto <- read_excel("Base_de_dados_Socioeducandos_meio aberto.xlsx") semiliberdade <- read_excel("Base_de_dados_Socioeducandos_semiliberdade.xlsx") # join socio <- meio_aberto %>% dplyr:: full_join(semiliberdade) rm(meio_aberto,semiliberdade) ##### Criação de Variáveis #### ##Variável faixa etária socio <- socio %>% mutate(faixaet = ifelse(H14 %in% c(13,14,15),"1.Ate 15 anos", ifelse(H14 %in% c(16,17),"2.Entre 16 e 17 anos", ifelse(H14 %in% c(18,19,20),"3.18 ou mais",NA)))) table(socio$faixaet) ##Variável idade do primeiro ato infracional ##Variável racacor table(socio$H17) socio <- socio %>% mutate(racacor = ifelse(H17 %in% c("Branca","Amarela","Indígena"),"2.Nao negra", ifelse(H17 %in% c("Preta","Parda"),"1.Negra", ifelse(H17 %in% c("Não declarada"),"3.Não declarada",NA)))) table(socio$racacor) ##Variável aborto table(socio$aborto) ##Variável identidade genero table(socio$H16) socio <- socio %>% mutate(identidade_genero = ifelse(H16 %in% c("Homem", "Mulher"),"1.Cisgênero", ifelse(H16 %in% c("Mulher trans"),"2.Transgênero", ifelse(H16 %in% c("Não sei"),"4.Nao sabe", NA)))) table(socio$identidade_genero) ##Variável transtorno ##Variável renda familiar média table(socio$E6) socio <- socio %>% mutate(renda_familiar = ifelse(E6 %in% c("Menos de ½ salário mínimo (menos de R$606,00)", "1 salário mínimo (R$1.212,00)", "De ½ a quase 1 salário mínimo (De R$606,00 até R$1.211,99)"),"1.Até 1 salário mínimo", ifelse(E6 %in% c("Mais de 2 até 3 Salários Mínimos (R$2.424,01 até R$ 3.636,00)", "Mais de 1 até 2 Salários Mínimos (R$1.212,01 até R$2.424,00)"), "2.Entre 1 a 3 salários mínimos", ifelse(E6 %in% c("Mais de 3 Salários Mínimos (acima de R$ 3.636,01)"),"3.Mais de 3 salários minimos", ifelse(E6 %in% c("Não sei"),"4.Não sabe",NA))))) table(socio$renda_familiar) ## Variável Composição familiar socio <- socio %>% mutate(comp_fam = case_when(`H6[SQ001]` == "Sim" & `H6[SQ002]` == "Não"~"Somente Mãe", `H6[SQ001]` == "Não" & `H6[SQ002]` == "Sim"~"Somente Pai", `H6[SQ001]` == "Sim" & `H6[SQ002]` == "Sim"~"Pai e Mãe", `H6[SQ001]` == "Não" & `H6[SQ002]` == "Não"~"Sem os pais"), abuso = ifelse(`F11[SQ001]` == "Sim" | `F11[SQ002]` == "Sim" | `F14[SQ001]` == "Sim" | `F14[SQ002]` == "Sim","Sofreu abuso","Não"), n_mora_mae = ifelse(`H6[SQ001]` == "Não","Não mora com a mãe","mora com mãe"), n_mora_pai= ifelse(`H6[SQ002]` == "Não","Não mora com o pai","mora com pai")) ## Variável Distorção série table(socio$D9,socio$D10) table(socio$H14) socio <- socio %>% mutate(distorcao = case_when(D9 == "Ensino Fundamental Regular" & D10 == "Primeiro(a)" & H14>8 ~ 1, D9 == "Ensino Fundamental Regular" & D10 == "Segundo(a)" & H14>9 ~ 1, D9 == "Ensino Fundamental Regular" & D10 == "Terceiro(a)" & H14>10 ~ 1, D9 == "Ensino Fundamental Regular" & D10 == "Quarto(a)" & H14>11 ~ 1, D9 == "Ensino Fundamental Regular" & D10 == "Quinto(a)" & H14>12 ~ 1, D9 == "Ensino Fundamental Regular" & D10 == "Sexto(a)" & H14>13 ~ 1, D9 == "Ensino Fundamental Regular" & D10 == "Sétimo(a)" & H14>14 ~ 1, D9 == "Ensino Fundamental Regular" & D10 == "Oitavo(a)" & H14>15 ~ 1, D9 == "Ensino Fundamental Regular" & D10 == "Nono(a)" & H14>16 ~ 1, D9 == "Ensino Médio Regular" & D10 == "Primeiro(a)" & H14>17 ~ 1, D9 == "Ensino Médio Regular" & D10 == "Segundo(a)" & H14>18 ~ 1, D9 == "Ensino Médio Regular" & D10 == "Terceiro(a)" & H14>19 ~ 1, TRUE~0)) %>% mutate(distorcao = factor(distorcao, labels = c("Apresenta distorção","Não apresenta distorção"))) ## Variável modalidade de ensino table(socio$D9) socio <- socio %>% mutate(modalidade = case_when(D9 == "Ensino Fundamental EJA" | D9 == "Ensino Médio EJA" ~ "EJA", D9 == "Ensino Fundamental Regular" | D9 == "Ensino Médio Regular" ~ "Regular")) ##### Amostra ##### # Declarar plano amostral sample.socio <- survey::svydesign(id = ~id, # Identificador único dos adolescentes strata = ~unidade, # Identificação do estrato (aqui são as unidades) weights = ~peso, # Probabilidade da unidade ser sorteada nest=TRUE, data=socio) # Nome da base table(socio$medida) # Colocar como tibble amostra_socio <- srvyr::as_survey(sample.socio) #GRÁFICOS ------------------------ #Gráfico 2 renda <- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by(renda_familiar) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv",na.rm=T), pct = survey_mean(vartype = "cv",na.rm=T)) # Gráfico 3 distorcao<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by(distorcao) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) distocao_medida <- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by(medida,distorcao) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) #Gráfico 4 modalidade<- amostra_socio %>% srvyr::filter(D8=="Sim") %>% srvyr::filter(modalidade=="EJA" | modalidade=="Regular") %>% # Informar o grupo que queremos a informação srvyr::group_by(modalidade) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) modalidade_medida<- amostra_socio %>% srvyr::filter(D8=="Sim") %>% srvyr::filter(modalidade=="EJA" | modalidade=="Regular") %>% # Informar o grupo que queremos a informação srvyr::group_by(medida, modalidade) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) #Gráfico 5 repetiu_ano<- amostra_socio %>% srvyr::filter( D13!="Não se aplica") %>% # Informar o grupo que queremos a informação srvyr::group_by ( D13) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) #Gráfico 6 gasto_alimentação<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ001]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) gasto_higiene<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ002]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) gasto_vestuário<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ003]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) gasto_lazer<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ004]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) gasto_transporte<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ005]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) gasto_eletrônicos<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ007]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) gasto_ajuda_família<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ008]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) gasto_alcool_cigarro<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ009]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) gasto_drogas_ilicitas<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by (`D24[SQ010]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv", na.rm=T), pct = survey_mean(vartype = "cv", na.rm=T)) #Gráfico 7 apoio_emocional<- amostra_socio %>% srvyr::filter(`E4[SQ001]`=="Sempre"|`E4[SQ001]`=="Nunca"| `E4[SQ001]`=="Ás vezes" | `E4[SQ001]`=="Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`E4[SQ001]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) bom_filho<- amostra_socio %>% srvyr::filter(`E4[SQ006]`=="Sempre"|`E4[SQ006]`=="Nunca"| `E4[SQ006]`=="Ás vezes" | `E4[SQ006]`=="Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`E4[SQ006]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) inteligente<- amostra_socio %>% srvyr::filter(`E4[SQ007]`=="Sempre"|`E4[SQ007]`=="Nunca"| `E4[SQ007]`=="Ás vezes" | `E4[SQ007]`=="Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`E4[SQ007]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) confiar<- amostra_socio %>% srvyr::filter(`E4[SQ012]`=="Sempre"|`E4[SQ012]`=="Nunca"| `E4[SQ012]`=="Ás vezes" | `E4[SQ012]`=="Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`E4[SQ012]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) #Gráfico 8 seguro_casa <- amostra_socio %>% srvyr::filter(`F1[SQ001]`== "Muito seguro"|`F1[SQ001]`== "Pouco seguro"| `F1[SQ001]`== "Nem seguro e nem inseguro" | `F1[SQ001]`== "Pouco inseguro" | `F1[SQ001]`== "Muito inseguro" | `F1[SQ001]`== "Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`F1[SQ001]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) seguro_bairro <- amostra_socio %>% srvyr::filter(`F1[SQ002]`== "Muito seguro"|`F1[SQ002]`== "Pouco seguro"| `F1[SQ002]`== "Nem seguro e nem inseguro" | `F1[SQ002]`== "Pouco inseguro" | `F1[SQ002]`== "Muito inseguro" | `F1[SQ002]`== "Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`F1[SQ002]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) seguro_casa_familiares <- amostra_socio %>% srvyr::filter(`F1[SQ003]`== "Muito seguro"|`F1[SQ003]`== "Pouco seguro"| `F1[SQ003]`== "Nem seguro e nem inseguro" | `F1[SQ003]`== "Pouco inseguro" | `F1[SQ003]`== "Muito inseguro" | `F1[SQ003]`== "Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`F1[SQ003]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) seguro_casa_amigos <- amostra_socio %>% srvyr::filter(`F1[SQ004]`== "Muito seguro"|`F1[SQ004]`== "Pouco seguro"| `F1[SQ004]`== "Nem seguro e nem inseguro" | `F1[SQ004]`== "Pouco inseguro" | `F1[SQ004]`== "Muito inseguro" | `F1[SQ004]`== "Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`F1[SQ004]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) seguro_escola <- amostra_socio %>% srvyr::filter(`F1[SQ005]`== "Muito seguro"|`F1[SQ005]`== "Pouco seguro"| `F1[SQ005]`== "Nem seguro e nem inseguro" | `F1[SQ005]`== "Pouco inseguro" | `F1[SQ005]`== "Muito inseguro" | `F1[SQ005]`== "Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`F1[SQ005]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) seguro_festas <- amostra_socio %>% srvyr::filter(`F1[SQ006]`== "Muito seguro"|`F1[SQ006]`== "Pouco seguro"| `F1[SQ006]`== "Nem seguro e nem inseguro" | `F1[SQ006]`== "Pouco inseguro" | `F1[SQ006]`== "Muito inseguro" | `F1[SQ006]`== "Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`F1[SQ006]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) seguro_medida <- amostra_socio %>% srvyr::filter(`F1[SQ007]`== "Muito seguro"|`F1[SQ007]`== "Pouco seguro"| `F1[SQ007]`== "Nem seguro e nem inseguro" | `F1[SQ007]`== "Pouco inseguro" | `F1[SQ007]`== "Muito inseguro" | `F1[SQ007]`== "Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`F1[SQ007]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) seguro_policia <- amostra_socio %>% srvyr::filter(`F1[SQ009]`== "Muito seguro"|`F1[SQ009]`== "Pouco seguro"| `F1[SQ009]`== "Nem seguro e nem inseguro" | `F1[SQ009]`== "Pouco inseguro" | `F1[SQ009]`== "Muito inseguro" | `F1[SQ009]`== "Não declarado") %>% # Informar o grupo que queremos a informação srvyr::group_by(`F1[SQ009]`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) #Gráfico 9 outra_medida<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by(B2) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) outra_medida2<- amostra_socio %>% # Informar o grupo que queremos a informação srvyr::group_by(medida,B2) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) #Gráfico 10 qualidade_alimentação <- amostra_socio %>% srvyr::filter(medida=="Semiliberdade") %>% # Informar o grupo que queremos a informação srvyr::group_by(`C11[SQ001]S`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) quantidade_alimentação <- amostra_socio %>% srvyr::filter(medida=="Semiliberdade") %>% # Informar o grupo que queremos a informação srvyr::group_by(`C11[SQ002]S`) %>% # Calcular o total e o Percentual da população, com seu intervalo de confiança srvyr::summarise(n=survey_total(vartype = "cv"), pct = survey_mean(vartype = "cv")) #Repetir o código acima para as outras categorias