1 INTRODUCCIÓN

La Encuesta Nacional de Hogares-Salud (ENAHO) es una iniciativa crucial dirigida por el Instituto Nacional de Estadística e Informática (INEI) del Perú, destinada a recopilar información detallada y representativa sobre diversos aspectos de la salud de la población peruana. Este estudio se lleva a cabo periódicamente con el objetivo de proporcionar datos precisos que sirvan como base para la formulación de políticas públicas y la mejora de los servicios de salud en el país.

Para este análisis estaremos tomando datos de los Módulos 100 (Características de la Vivienda y del Hogar) y 400 (Salud) para saber la relación entre las personas que están afiliadas al SIS y el material predominante en los techos de sus viviendas.

#LECTURA DE ARCHIVOS-----------------------------------------------

datos01 = read.csv("Enaho01-2019-100.csv", fileEncoding = "Latin1")
datos02 = read.csv("Enaho01a-2019-400.csv", fileEncoding="Latin1")

#PREPROCESAMIENTO DE DATOS-----------------------------------------------

datos01 %>% mutate(IDHOGAR = paste0(CONGLOME, VIVIENDA, HOGAR)) %>% select(-CONGLOME,-VIVIENDA,-HOGAR) -> datos01

datos02 %>% mutate(IDHOGAR = paste0(CONGLOME, VIVIENDA, HOGAR)) %>% select(-CONGLOME,-VIVIENDA,-HOGAR) -> datos02

datos01 %>% 
  filter(RESULT == 1) -> datos01
datos01 %>% inner_join(datos02)->grupo5x2
grupo5x2 |> select(AÑO, MES, UBIGEO, DOMINIO, ESTRATO, PERIODO, TIPENC, FECENT, RESULT, PANEL, IDHOGAR,
                   CODPERSO, CODINFOR, P103A, P4195, P1121, P104, P401, P104A, P105A, P107B1, P103A) -> GRUPO5X2F

GRUPO5X2F |> select(P103A, P4195) -> eniksa
mapeo = c('1' = 'Si', '2' = 'No')
mapeo2 <- c('1' = 'Concreto' ,'2' = 'Madera', '3' = 'Tejas', 
            '4' = 'Calamina', '5' = 'Caña', '6' = 'Triplay',
            '7' = 'Paja', '8' = 'Otros')
eniksa$P103A <- mapeo2[eniksa$P103A]
eniksa$P4195 <- mapeo[eniksa$P4195]

eniksa <- eniksa |>
  rename('Material_Techo' = P103A, 'SIS' = P4195)

eniksaoficial <- eniksa |> group_by(Material_Techo) |> na.omit() |>
  count(SIS) |> spread(SIS, n , fill = 0)
eniksaoficial_longer <- eniksaoficial |> pivot_longer(cols = c('No', 'Si'),
                                                      names_to = 'SIS',
                                                      values_to = 'Conteo')

eniksaoficial_longer <- eniksaoficial_longer %>%
  group_by(Material_Techo) %>%
  mutate(
    Proporcion = Conteo / sum(Conteo)
  ) %>%
  ungroup() %>%
  mutate(
    Relleno = case_when(
      Material_Techo == "Paja" & SIS == "Si" ~ "Resaltado_Si",      
      Material_Techo == "Concreto" & SIS == "No" ~ "Resaltado_No", 
      SIS == "Si" ~ "Pálido_Si",
      SIS == "No" ~ "Pálido_No"
    ),
    Etiqueta = case_when(
      Material_Techo == "Paja" & SIS == "Si" ~ paste0(round(Proporcion * 100, 1), "%"),
      Material_Techo == "Concreto" & SIS == "No" ~ paste0(round(Proporcion * 100, 1), "%"),
      TRUE ~ NA_character_
    )
  )

#Textos 

# Texto 1 con fondo de recuadro
texto1_1 <- ggdraw() + 
  draw_grob(
    grob = gTree(children = gList(
      rectGrob(
        gp = gpar(fill = "white", col = NA), # Fondo azul oscuro
        x = 0.5, y = 0.5, width = unit(0.95, "npc"), height = unit(0.5, "npc")
      ),
      textGrob(
        "Las personas que tienen como material\npredominante en su techo hecho de\nPaja son quienes más están afiliados a la SIS", 
        x = 0.5, y = 0.25, hjust = 0.5, vjust = 0.5, gp = gpar(col = "#244379", fontsize = 10)
      )
    ))
  )

# Texto 2 con fondo de recuadro
texto2_1 <- ggdraw() + 
  draw_grob(
    grob = gTree(children = gList(
      rectGrob(
        gp = gpar(fill = "white", col = NA), # Fondo naranja
        x = 0.5, y = 0.5, width = unit(0.95, "npc"), height = unit(0.5, "npc")
      ),
      textGrob(
        "Las personas que tienen como material\npredominante en su techo hecho de\nConcreto son quienes menos están afiliados al SIS.", 
        x = 0.5, y = 0.5, hjust = 0.5, vjust = 0.5, gp = gpar(col = "#e2660e", fontsize = 10)
      )
    ))
  )

# Definir los colores manualmente
colores <- c(
  "Resaltado_Si" = "#244379",        
  "Resaltado_No" = "#e2660e",         
  "Pálido_Si" = "#acbac8",      
  "Pálido_No" = "#f1d3b2"     
)


# Graficar los textos junto con el gráfico principal

ggplot(eniksaoficial_longer) + 
  aes(x = Material_Techo, y = Proporcion, fill = Relleno) + 
  geom_bar(stat = 'identity', position = 'fill', color = 'white') +
  geom_text(
    aes(label = Etiqueta), 
    position = position_fill(vjust = 0.5), 
    size = 3.5,
    color = "white",
    na.rm = TRUE 
  ) +
  scale_fill_manual(
    values = colores, 
    breaks = c("Pálido_Si", "Pálido_No"),  
    labels = c("Si", "No")                 
  ) +
  labs(
    title = "Proporción de personas con SIS y materiales predominantes en los techos",
    fill = NULL,  
    x = NULL, 
    y = NULL
  ) +
  theme_minimal() +
  theme(panel.background = element_blank(),
    legend.position = "top", 
    axis.text.x = element_blank(),  
    axis.ticks.x = element_blank()
  ) +
  coord_flip() -> sis

a <- plot_grid(
  sis,
  plot_grid(texto1_1, texto2_1, ncol = 1, rel_heights = c(1, 1)),
  ncol = 2, rel_widths = c(3, 2)
)
a