# Cabeçalho ---- #Diagnóstico sobre novos Restaurantes Comunitários no Distrito Federal #IPEDF - Instituto de Pesquisa e Estatística do Distrito Federal #Script de geração dos resultados #Contato - Email: politicas.sociais@ipe.df.gov.br # Pacotes ----- library(dplyr) library(readxl) library(lubridate) library(tidyr) library(tidyverse) library(data.table) library(dplyr) # para o operador %>% library(readr) library(plyr) library(srvyr) library(clipr) library(writexl) # Definir diretório na rede ---- setwd("X:/AREA TECNICA/6. 2024/2. Pesquisas Dipos/2. Pastas por projeto/Restaurantes Comunitários/Análise/Análise descritiva") # Carregar base ---- caminho <- file.choose() df_restaurantes <- read.csv(caminho) # A1 - Restaurante da aplicação ---- A1_restaurantes <- df_restaurantes %>% group_by(A1) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(A1 = as.character(A1)) %>% rbind(data.frame(A1 = "Total", n = sum(.$n), prop = 100)) write.table(A1_restaurantes, "clipboard", sep = "\t", row.names = FALSE) # A2 - Turno da aplicação ---- A2_turno <- df_restaurantes %>% group_by(A2) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(A2 = as.character(A2)) %>% rbind(data.frame(A2 = "Total", n = sum(.$n), prop = 100)) write.table(A2_turno, "clipboard", sep = "\t", row.names = FALSE) # B1 - Refeição/marmita ---- # Criando coluna 'refeicao' que indica o que o usuário consumiu no momento da entrevista # df_restaurantes$refeicao <- ifelse( df_restaurantes$"B1[B101]" == "Sim" & df_restaurantes$"B1[B102]" == "Não", "Refeição", ifelse( df_restaurantes$"B1[B102]" == "Sim" & df_restaurantes$"B1[B101]" == "Não", "Marmita", ifelse( df_restaurantes$"B1[B101]" == "Sim" & df_restaurantes$"B1[B102]" == "Sim", "Refeição e marmita", ifelse( df_restaurantes$"B1[B197]" == "Sim", "Não sabe", ifelse( df_restaurantes$"B1[B199]" == "Sim", "Não respondeu", NA) ) ) ) ) B1_refeicao <- df_restaurantes %>% group_by(refeicao) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(refeicao = as.character(refeicao)) %>% rbind(data.frame(refeicao = "Total", n = sum(.$n), prop = 100)) write.table(B1_refeicao, "clipboard", sep = "\t", row.names = FALSE) ### Criando variável turno1 de turnos(s) que frequenta #Indivíduos que responderam "Não sei" ou não responderam pelo menos 1 das questões B2, B3 e B4 recebem NA #Indivíduos que não responderam em qualquer uma das questões (B2, B3 e B4) recebem NA # Agrupamento: #Almoço #Todas as refeições #Café da manhã e almoço #Almoço e jantar #Café da manhã #Jantar #Café da manhã e jantar df_restaurantes$turno1 <- ifelse( df_restaurantes$"B2" == "Sim" & df_restaurantes$"B3" == "Sim" & df_restaurantes$"B4" == "Sim", "Todos", ifelse( df_restaurantes$"B2" == "Sim" & df_restaurantes$"B3" == "Não" & df_restaurantes$"B4" == "Não", "Café da manhã", ifelse( df_restaurantes$"B2" == "Não" & df_restaurantes$"B3" == "Sim" & df_restaurantes$"B4" == "Não", "Almoço", ifelse( df_restaurantes$"B2" == "Não" & df_restaurantes$"B3" == "Não" & df_restaurantes$"B4" == "Sim", "Jantar", ifelse( df_restaurantes$"B2" == "Sim" & df_restaurantes$"B3" == "Sim" & df_restaurantes$"B4" == "Não", "Café da manhã e almoço", ifelse( df_restaurantes$"B2" == "Não" & df_restaurantes$"B3" == "Sim" & df_restaurantes$"B4" == "Sim", "Almoço e jantar", ifelse( df_restaurantes$"B2" == "Sim" & df_restaurantes$"B3" == "Não" & df_restaurantes$"B4" == "Sim", "Café da manhã e jantar", NA) ) ) ) ))) ### Criando variável turno2 de turnos(s) que frequenta # Não tem NAs #Agrupamento: #Todas as refeições #Nehuma das refeições #Almoço #Café da manhã #Jantar df_restaurantes$turno2 <- ifelse( df_restaurantes$"B2" == "Sim" & df_restaurantes$"B3" == "Sim" & df_restaurantes$"B4" == "Sim", "Todas as refeições", ifelse( df_restaurantes$"B2" == "Sim", "Café da manhã", ifelse( df_restaurantes$"B3" == "Sim", "Almoço", ifelse( df_restaurantes$"B4" == "Sim", "Jantar", ifelse( df_restaurantes$"B2" == "Não" & df_restaurantes$"B3" == "Não" & df_restaurantes$"B4" == "Não", "Nenhuma das refeições", NA ) ) ) ) ) table(df_restaurantes$turno2) table(df_restaurantes$B2) table(df_restaurantes$B3) table(df_restaurantes$B4) turno_frequenta2 <- df_restaurantes %>% group_by(turno2) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(turno2 = as.character(turno2)) %>% rbind(data.frame(turno2 = "Total", n = sum(.$n), prop = 100)) write.table(turno_frequenta2, "clipboard", sep = "\t", row.names = FALSE) turno_frequenta <- df_restaurantes %>% group_by(turno) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(turno = as.character(turno)) %>% rbind(data.frame(turno = "Total", n = sum(.$n), prop = 100)) write.table(turno_frequenta, "clipboard", sep = "\t", row.names = FALSE) # Investigando usuários que não frequentam o RC da entrevista em nenhum turno ---- #De quem respondeu não ter frequentado nenhum turno, quantos afirmaram que aquele é o restaurante de maior frequencia? #A maioria disse que o Rc da entrevista é o de maior frequência (80%) #Talvez esses números indiquem apenas que 12% dos usuários não vão com frequência semanal, mas apenas frenquentam aquele RC nao_frequenta_motivo <- df_restaurantes %>% filter(turno2 == "Nenhuma das refeições") %>% group_by(C1) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(C1 = as.character(C1)) %>% rbind(data.frame(C1 = "Total", n = sum(.$n), prop = 100)) # B2 - Usuário tomou café da manhã no restaurante da entrevista na última semana ---- B2_cafe <- df_restaurantes %>% group_by(B2) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B2 = as.character(B2)) %>% rbind(data.frame(B2 = "Total", n = sum(.$n), prop = 100)) write.table(B2_cafe, "clipboard", sep = "\t", row.names = FALSE) # B21 - Frequência com que tomou café na última semana ---- B21_freqcafe <- df_restaurantes %>% group_by(B21) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B21 = as.character(B21)) %>% rbind(data.frame(B21 = "Total", n = sum(.$n), prop = 100)) write.table(B21_freqcafe, "clipboard", sep = "\t", row.names = FALSE) # B3 - Usuário almoçou no restaurante da entrevista na última semana ---- B3_almoco <- df_restaurantes %>% group_by(B3) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B3 = as.character(B3)) %>% rbind(data.frame(B3 = "Total", n = sum(.$n), prop = 100)) write.table(B3_almoco, "clipboard", sep = "\t", row.names = FALSE) # B31 - Frequência com que almoçou na última semana ---- B31_freqalmoco <- df_restaurantes %>% group_by(B31) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B31 = as.character(B31)) %>% rbind(data.frame(B31 = "Total", n = sum(.$n), prop = 100)) write.table(B31_freqalmoco, "clipboard", sep = "\t", row.names = FALSE) # B4 - Usuário jantou no restaurante da entrevista na última semana ---- B4_almoco <- df_restaurantes %>% group_by(B4) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B4 = as.character(B4)) %>% rbind(data.frame(B4 = "Total", n = sum(.$n), prop = 100)) write.table(B4_almoco, "clipboard", sep = "\t", row.names = FALSE) # B41 - Frequência com que jantou na última semana ---- B41_freqjantar <- df_restaurantes %>% group_by(B41) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B41 = as.character(B41)) %>% rbind(data.frame(B41 = "Total", n = sum(.$n), prop = 100)) write.table(B41_freqjantar, "clipboard", sep = "\t", row.names = FALSE) # Frequência agrupada ---- df_restaurantes$frequencia <- ifelse( df_restaurantes$"B21" == "7 vezes na semana" & df_restaurantes$"B31" == "7 vezes na semana" & df_restaurantes$"B41" == "7 vezes na semana", "Todas as refeições" ) # B5 - Motivação para escolher o RC de entrevista ---- B5_motivacoes <- df_restaurantes %>% summarise( across( starts_with("B5"), ~ sum(. == "Sim", na.rm = TRUE) ) ) %>% pivot_longer( cols = everything()) write.table(B5_motivacoes, "clipboard", sep = "\t", row.names = FALSE) # B6 - Último lugar onde o indivíduo estava ---- B6_onde_estava <- df_restaurantes %>% group_by(B6) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B6 = as.character(B6)) %>% rbind(data.frame(B6 = "Total", n = sum(.$n), prop = 100)) write.table(B6_onde_estava, "clipboard", sep = "\t", row.names = FALSE) # B7 - Meio de transporte utilizado para chegar ---- B7_meio_transp <- df_restaurantes %>% group_by(B7) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B7 = as.character(B7)) %>% rbind(data.frame(B7 = "Total", n = sum(.$n), prop = 100)) write.table(B7_meio_transp, "clipboard", sep = "\t", row.names = FALSE) # B8 - Tempo gasto para chegar ao RC de entrevista ---- B8_tempo_desloc <- df_restaurantes %>% group_by(B8) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B8 = as.character(B8)) %>% rbind(data.frame(B8 = "Total", n = sum(.$n), prop = 100)) write.table(B8_tempo_desloc, "clipboard", sep = "\t", row.names = FALSE) # B9 - Avaliação da localização do restaurante comunitário ---- B9_localizacao_rest <- df_restaurantes %>% group_by(B9) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B9 = as.character(B9)) %>% rbind(data.frame(B9 = "Total", n = sum(.$n), prop = 100)) write.table(B9_localizacao_rest, "clipboard", sep = "\t", row.names = FALSE) # B10 - Encontrou dificuldades de acesso ao Rc de entrevista ---- B10_acessibilidade <- df_restaurantes %>% group_by(B10) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(B10 = as.character(B10)) %>% rbind(data.frame(B10 = "Total", n = sum(.$n), prop = 100)) write.table(B10_acessibilidade, "clipboard", sep = "\t", row.names = FALSE) # B101 - Dificuldades para acessar o Rc de entrevista ---- B101_dificuldades <- df_restaurantes %>% summarise(across( c('B101[B10101]', 'B101[B10102]', 'B101[B10103]', 'B101[B10104]', 'B101[B101105]', 'B101[B10106]', 'B101[B10107]', 'B101[B10197]', 'B101[B10199]', 'B101[oth_binary]'), ~ sum(. == "Sim", na.rm = TRUE) )) %>% pivot_longer( cols = everything() ) write.table(B101_dificuldades, "clipboard", sep = "\t", row.names = FALSE) #C1 - O RC de entrevista é o RC de maior frequência ---- C1_RC_maior_freq <- df_restaurantes %>% group_by(C1) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(C1 = as.character(C1)) %>% rbind(data.frame(C1 = "Total", n = sum(.$n), prop = 100)) write.table(C1_RC_maior_freq, "clipboard", sep = "\t", row.names = FALSE) #C2 - RC de maior frequência ---- C2_RC_maior_freq <- df_restaurantes %>% group_by(C2) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(C2 = as.character(C2)) %>% rbind(data.frame(C2 = "Total", n = sum(.$n), prop = 100)) write.table(C2_RC_maior_freq, "clipboard", sep = "\t", row.names = FALSE) #C3 - Motivos para frequentar o RC de maior frquência ---- C3_motivacoes <- df_restaurantes %>% summarise( across( starts_with("C3"), ~ sum(. == "Sim", na.rm = TRUE) ) ) %>% pivot_longer( cols = everything()) write.table(C3_motivacoes, "clipboard", sep = "\t", row.names = FALSE) #C4 - Frequência do RC de maior frequência ---- C4_freq <- df_restaurantes %>% group_by(C4) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(C4 = as.character(C4)) %>% rbind(data.frame(C4 = "Total", n = sum(.$n), prop = 100)) write.table(C4_freq, "clipboard", sep = "\t", row.names = FALSE) #D1 - RC que mais frequenta fic ana Ra que mora/fica ---- D1_mora_rest_freq <- df_restaurantes %>% group_by(D1) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(D1 = as.character(D1)) %>% rbind(data.frame(D1 = "Total", n = sum(.$n), prop = 100)) write.table(D1_mora_rest_freq, "clipboard", sep = "\t", row.names = FALSE) #D2 - Motivos para não frequentar o Rc de domicílio/onde fica ---- D2_motivacoes <- df_restaurantes %>% summarise( across( starts_with("D2"), ~ sum(. == "Sim", na.rm = TRUE) ) ) %>% pivot_longer( cols = everything()) write.table(D2_motivacoes, "clipboard", sep = "\t", row.names = FALSE) #E1 - Gostaria que abrisse novo RC ---- E1_novo_rest <- df_restaurantes %>% group_by(E1) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(E1 = as.character(E1)) %>% rbind(data.frame(E1 = "Total", n = sum(.$n), prop = 100)) write.table(E1_novo_rest, "clipboard", sep = "\t", row.names = FALSE) #E11 - MOtivos para não frequentar o Rc de domicílio/onde fica ---- E11_ra_motivacoes <- df_restaurantes %>% summarise( across( starts_with("E11"), ~ sum(. == "Sim", na.rm = TRUE) ) ) %>% pivot_longer( cols = everything()) write.table(E11_ra_motivacoes, "clipboard", sep = "\t", row.names = FALSE) #E12 - MOtivos para abrir novo restaurante ---- E12_ra_motivacoes <- df_restaurantes %>% summarise( across( starts_with("E12"), ~ sum(. == "Sim", na.rm = TRUE) ) ) %>% pivot_longer( cols = everything()) write.table(E12_ra_motivacoes, "clipboard", sep = "\t", row.names = FALSE) #E2 - Frequentaria novo restaurante ---- E2_novo_rest <- df_restaurantes %>% group_by(E2) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(E2 = as.character(E2)) %>% rbind(data.frame(E2 = "Total", n = sum(.$n), prop = 100)) write.table(E2_novo_rest, "clipboard", sep = "\t", row.names = FALSE) #F1 - Ficou um dia inteiro sem comer ---- F1_ficou_sem_comer <- df_restaurantes %>% group_by(F1) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(F1 = as.character(F1)) %>% rbind(data.frame(F1 = "Total", n = sum(.$n), prop = 100)) write.table(F1_ficou_sem_comer, "clipboard", sep = "\t", row.names = FALSE) #F2 - De onde vem a comida ---- F2_origem_comida <- df_restaurantes %>% summarise( across( starts_with("F2"), ~ sum(. == "Sim", na.rm = TRUE) ) ) %>% pivot_longer( cols = everything()) write.table(F2_origem_comida, "clipboard", sep = "\t", row.names = FALSE) #F3 - Importância do RC na alimentação ---- F3_insan <- df_restaurantes %>% group_by(F3) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(F3 = as.character(F3)) %>% rbind(data.frame(F3 = "Total", n = sum(.$n), prop = 100)) write.table(F3_insan, "clipboard", sep = "\t", row.names = FALSE) #G1 - Idade ---- summary(df_restaurantes$G1) G1_idade <- df_restaurantes %>% mutate(faixa_etaria = cut( G1, breaks = c(18, 39, 60, Inf), # Intervalos de 21 anos right = FALSE, # Exclui o limite superior do intervalo labels = c("18-38", "39-59", "60+") )) %>% group_by(faixa_etaria) %>% # Agrupa pelas faixas etárias summarise(contagem = n(), .groups = "drop") # Conta o número de observações em cada faixa write.table(G1_idade, "clipboard", sep = "\t", row.names = FALSE) #G2 - Raça/cor ---- G2_racacor <- df_restaurantes %>% group_by(G2) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G2 = as.character(G2)) %>% rbind(data.frame(G2 = "Total", n = sum(.$n), prop = 100)) write.table(G2_racacor, "clipboard", sep = "\t", row.names = FALSE) #G3 - Sexo ---- G3_sexo <- df_restaurantes %>% group_by(G3) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G3 = as.character(G3)) %>% rbind(data.frame(G3 = "Total", n = sum(.$n), prop = 100)) write.table(G3_sexo, "clipboard", sep = "\t", row.names = FALSE) #G4 - Gênero ---- G4_genero <- df_restaurantes %>% group_by(G4) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G4 = as.character(G4)) %>% rbind(data.frame(G4 = "Total", n = sum(.$n), prop = 100)) write.table(G4_genero, "clipboard", sep = "\t", row.names = FALSE) #G5 - RA de residência/mais fica ---- G5_ra_reside <- df_restaurantes %>% group_by(G5) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G5 = as.character(G5)) %>% rbind(data.frame(G5 = "Total", n = sum(.$n), prop = 100)) write.table(G5_ra_reside, "clipboard", sep = "\t", row.names = FALSE) #G6 - Grau de escolaridade mais elevado ---- G6_escolaridade <- df_restaurantes %>% group_by(G6) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G6 = as.character(G6)) %>% rbind(data.frame(G6 = "Total", n = sum(.$n), prop = 100)) write.table(G6_escolaridade, "clipboard", sep = "\t", row.names = FALSE) #G7 - Principal vínculo empregatício ---- G7_vinc_empreg <- df_restaurantes %>% group_by(G7) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G7 = as.character(G7)) %>% rbind(data.frame(G7 = "Total", n = sum(.$n), prop = 100)) write.table(G7_vinc_empreg, "clipboard", sep = "\t", row.names = FALSE) #G8 - Renda ---- G8_renda <- df_restaurantes %>% group_by(G8) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G8 = as.character(G8)) %>% rbind(data.frame(G8 = "Total", n = sum(.$n), prop = 100)) write.table(G8_renda, "clipboard", sep = "\t", row.names = FALSE) #G9 - Principal vínculo empregatício ---- G9_cad_unico <- df_restaurantes %>% group_by(G9) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G9 = as.character(G9)) %>% rbind(data.frame(G9 = "Total", n = sum(.$n), prop = 100)) write.table(G9_cad_unico, "clipboard", sep = "\t", row.names = FALSE) #G10 - Recebe benefício do governo ---- G10_beneficio <- df_restaurantes %>% group_by(G10) %>% summarise( n = n(), prop = n() / nrow(df_restaurantes), .groups = "drop") %>% mutate(G10 = as.character(G10)) %>% rbind(data.frame(G10 = "Total", n = sum(.$n), prop = 100)) write.table(G10_beneficio, "clipboard", sep = "\t", row.names = FALSE) #G11 - Benefício que recebe ---- G11_beneficios <- df_restaurantes %>% summarise( across( starts_with("G11"), ~ sum(. == "Sim", na.rm = TRUE) ) ) %>% pivot_longer( cols = everything()) write.table(G11_beneficios, "clipboard", sep = "\t", row.names = FALSE) # Unindo tabelas em arquivo .xlsx por bloco ----- # Lista de dataframes, com nomes para as abas bloco_a <- list(A1 = A1_restaurantes, A2 = A2_turno ) bloco_b <- list(B1 = B1_refeicao, B2 = B2_cafe, B21 = B21_freqcafe, B3 = B3_almoco, B31 = B31_freqalmoco, B4 = B4_almoco, B41 = B41_freqjantar, B5 = B5_motivacoes, B6 = B6_onde_estava, B7 = B7_meio_transp, B8 = B8_tempo_desloc, B9 = B9_localizacao_rest, B10 = B10_acessibilidade, B101 = B101_dificuldades ) bloco_c <- list(C1 = C1_RC_maior_freq, C2 = C2_RC_maior_freq, C3 = C3_motivacoes, C4 = C4_freq ) bloco_d <- list(D1 = D1_mora_rest_freq, D2 = D2_motivacoes ) bloco_e <- list(E1 = E1_novo_rest, E11 = E11_ra_motivacoes, E12 = E12_ra_motivacoes, E2 = E2_novo_rest ) bloco_f <- list(F1 = F1_ficou_sem_comer, F2 = F2_origem_comida, F3 = F3_insan, E2 = E2_novo_rest ) bloco_g <- list(#G1 = G1_idade, G2 = G2_racacor, G3 = G3_racacor, G4 = G4_genero, G5 = G5_ra_reside, G6 = G6_escolaridade, G7 = G7_vinc_empreg, G8 = G8_renda, G9 = G9_cad_unico, G10 = G10_beneficio, G11 = G11_beneficios ) write_xlsx(bloco_a, "Analise descritiva - Bloco A.xlsx") write_xlsx(bloco_b, "Analise descritiva - Bloco B.xlsx") write_xlsx(bloco_c, "Analise descritiva - Bloco C.xlsx") write_xlsx(bloco_d, "Analise descritiva - Bloco D.xlsx") write_xlsx(bloco_e, "Analise descritiva - Bloco E.xlsx") write_xlsx(bloco_f, "Analise descritiva - Bloco F.xlsx") write_xlsx(bloco_g, "Analise descritiva - Bloco G.xlsx") write_xlsx(turno_frequenta2, "Turno que frequenta - Bloco B.xlsx")