Tutorial: Análisis de Fortificación de Alimentos con HCES y R

Tutorial: Análisis de Fortificación de Alimentos con HCES y R

mar. 5, 2025 · 3 min de lectura

En este tutorial, aprenderás a usar datos de Encuestas de Consumo y Gasto en Hogares (HCES) , Tablas de Composición de Alimentos (FCT) y herramientas de R (tidyverse, gtsummary, ggstatsplot) para evaluar la adecuación nutricional y modelar escenarios de fortificación. Los conceptos se explican desde cero, con ejemplos reproducibles.

Paso 1: Preparación de datos HCES

Concepto : Las HCES son encuestas que registran compras y consumo de alimentos a nivel de hogar 9. Son esenciales para analizar patrones dietéticos, pero requieren limpieza para eliminar inconsistencias.

Ejemplo en R :

library(tidyverse)

# Datos simulados de HCES (consumo de alimentos en gramos)
hc_data <- tibble(
  alimento = c("Azúcar", "Arroz", "Azúcar morena", "Harina fortificada"),
  cantidad_g = c(500, 1200, NA, 800),
  hogar_id = c(1, 1, 2, 2)
)

# Limpieza: Estandarizar nombres y eliminar valores faltantes
hc_clean <- hc_data %>%
  mutate(alimento = case_when(
    str_detect(alimento, "Azúcar") ~ "Azúcar",  # Unificar "Azúcar" y "Azúcar morena"
    TRUE ~ alimento
  )) %>%
  filter(!is.na(cantidad_g))  # Eliminar registros sin datos

Paso 2: Vinculación con Tablas de Composición de Alimentos (FCT)

Las FCT contienen información nutricional de alimentos (ej: hierro, vitamina A). Al vincularlas con HCES, calculamos la ingesta de nutrientes por hogar

Ejemplo en R :

# FCT simulada (nutrientes por 100g)
fct_data <- tibble(
  alimento = c("Azúcar", "Arroz", "Harina fortificada"),
  hierro_mg = c(0.1, 2.5, 5.0),
  vitamina_a_ug = c(0, 0, 500)
)

# Combinar HCES con FCT
hc_nutrientes <- hc_clean %>%
  left_join(fct_data, by = "alimento") %>%
  mutate(hierro_total = cantidad_g * hierro_mg / 100)  # Calcular hierro total consumido

Paso 3: Evaluación de adecuación nutricional (EAR, RNI, UL)

Concepto : EAR (Requerimiento Promedio Estimado) : Nivel de ingesta que cubre las necesidades del 50% de la población.

RNI (Requerimiento Nutricional de Ingesta) : Meta para cubrir el 97-98% de la población.

UL (Límite Máximo Seguro) : Ingesta máxima sin riesgo de toxicidad.

Ejemplo en R :

# EAR de hierro para mujeres (18-50 años): 18 mg/día
hc_nutrientes %>%
  group_by(hogar_id) %>%
  summarise(ingesta_hierro = sum(hierro_total)) %>%
  mutate(adepto = ifelse(ingesta_hierro >= 18, "Sí", "No"))

Visualización con ggstatsplot :

library(ggstatsplot)

gghistostats(
  data = hc_nutrientes,
  x = ingesta_hierro,
  title = "Ingesta de hierro vs. EAR (18 mg/día)",
  binwidth = 2
)

Paso 4: Cálculo de consumo aparente con AME/AFE

Concepto : La FAO recomienda ajustar el consumo por tamaño del hogar usando Equivalentes Adultos (AME/AFE) . Por ejemplo, un niño <10 años equivale a 0.5 AME

# Datos de hogares (miembros y edades)
hogares <- tibble(
  hogar_id = c(1, 2),
  miembros = list(
    tibble(edad = c(30, 5), genero = c("M", "F")),  # Hogar 1: adulto + niño
    tibble(edad = c(40, 15), genero = c("M", "M"))  # Hogar 2: 2 adultos
  )
)

# Calcular AME total por hogar
hogares <- hogares %>%
  mutate(ame_total = map_dbl(miembros, ~ sum(
    ifelse(.x$edad < 10, 0.5, 1)  # Niños <10 = 0.5 AME
  )))

# Consumo aparente per cápita
hc_consumo_aparente <- hc_nutrientes %>%
  left_join(hogares, by = "hogar_id") %>%
  mutate(consumo_aparente = hierro_total / ame_total)

Paso 5: Modelado de escenarios de fortificación

Concepto :

Simular la adición de nutrientes a alimentos (ej: hierro en harina) permite predecir impacto en la ingesta.

Ejemplo con gtsummary :

library(gtsummary)

# Escenario: Harina fortificada con +5 mg de hierro/100g
hc_fortificado <- hc_nutrientes %>%
  mutate(hierro_total = ifelse(alimento == "Harina fortificada", 
                              cantidad_g * (hierro_mg + 5) / 100,
                              hierro_total))

# Comparación pre-post fortificación
tbl_summary(
  hc_nutrientes %>% select(ingesta_hierro),
  hc_fortificado %>% select(ingesta_hierro),
  label = list(ingesta_hierro ~ "Hierro (mg/día)"),
  statistic = list(ingesta_hierro ~ "{mean} ± {sd}")
)

Herramientas R utilizadas :

tidyverse : Manipulación y limpieza de datos .

ggstatsplot : Visualización estadística rápida.

gtsummary : Resúmenes tabulares para comparaciones.