El canal (o corredor) endémico es una herramienta de vigilancia epidemiológica que nos permite evaluar si la incidencia actual de una enfermedad se encuentra dentro de los parámetros esperados o si estamos ante un brote epidémico.
Para construirlo, utilizamos la estadística descriptiva para segmentar el comportamiento histórico de la enfermedad a través de cuartiles. Esto divide nuestro espacio en zonas de colores: * Zona de Éxito (Verde): Por debajo del Q1 (25% de los datos más bajos). * Zona de Seguridad (Amarillo): Entre Q1 y la Mediana (Q2). * Zona de Alerta (Rojo claro): Entre la Mediana y el Q3 (75% de los datos). * Zona de Epidemia: Todo lo que supere el Q3.
Primero, cargamos las librerías necesarias y nuestra base de datos.
(Nota: Asegúrate de que el archivo
Matriz_Corredor_Endemico.csv esté en la misma carpeta que
este documento).
# Cargar librerías
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.5.3
## Warning: package 'ggplot2' was built under R version 4.5.3
## Warning: package 'dplyr' was built under R version 4.5.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.1 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.2
## ✔ ggplot2 4.0.3 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readxl)
# Cargar la base de datos (Formato largo: anio, semana, casos)
# Si tu archivo es Excel (.xlsx), cambia read_csv por read_excel y carga library(readxl)
datos <- read_excel("Matriz_Corredor_Endemico.xlsx")
Nuestra base ya está en el formato ideal. Ahora aplicaremos la Regla de Oro en Epidemiología: excluir los años epidémicos de nuestro cálculo histórico.
Al observar los datos, el año 2014 presentó un brote atípico masivo, así que lo excluiremos. Nuestro año de vigilancia actual será el 2024.
# 1. Separar datos históricos excluyendo TODOS los años epidémicos y el año actual (2024)
datos_historicos <- datos %>%
filter(!anio %in% c(2014, 2015, 2019, 2022, 2024))
# 2. Aislar los datos del año actual a evaluar (2024)
datos_actuales <- datos %>%
filter(anio == 2024)
# 3. Calcular Q1, Q2 y Q3 agrupando por semana epidemiológica
canal_endemico <- datos_historicos %>%
group_by(semana) %>%
summarise(
Q1 = quantile(casos, 0.25, na.rm = TRUE),
Q2 = median(casos, na.rm = TRUE),
Q3 = quantile(casos, 0.75, na.rm = TRUE)
)
# Veamos las primeras filas de nuestro corredor calculado
head(canal_endemico)
## # A tibble: 6 × 4
## semana Q1 Q2 Q3
## <dbl> <dbl> <dbl> <dbl>
## 1 1 57.8 90 140.
## 2 2 58.2 75.5 167.
## 3 3 72.2 81.5 140.
## 4 4 69 84 131.
## 5 5 74.8 86.5 136
## 6 6 84.8 87 124
Ahora utilizaremos ggplot2 para dibujar nuestras zonas de colores y sobreponer la línea del año 2024 para verificar el estado de vigilancia actual.
Análisis Final: Observa la gráfica generada. ¿En qué semana epidemiológica cruzó la línea negra el límite rojo del Q3? Ese es el momento exacto en el que el sistema entró en epidemia.
¡Ahora te toca a ti ser el epidemiólogo al mando! Imagina que el 2024 ya terminó y necesitas actualizar tu sala de situación para vigilar el nuevo año 2025.
Para lograrlo, sube a los bloques de código anteriores y haz exactamente estas tres modificaciones:
calculo-cuartiles), busca la línea de
datos_historicos y cambia el filtro para que diga
anio != 2025. (Nota: Esto hará que los datos que
acabamos de vivir en 2024 se integren al cálculo matemático de las
curvas).datos_actuales y cambia el
filtro a anio == 2025.grafica-corredor), baja hasta la función
labs() y cambia los textos para que los títulos y
subtítulos del gráfico reflejen que estás analizando el Año 2025.Instrucción Final: Una vez hechos los cambios, vuelve a ejecutar los bloques de código (o presiona el botón Knit). Analiza la nueva gráfica resultante: ¿Cómo se compara el inicio del 2025 frente a la epidemia que vivimos en 2024?
¡Felicidades! Has completado con éxito la construcción de tu primer Canal Endémico automatizado en R.
A lo largo de este documento interactivo no solo escribiste código, sino que aplicaste el verdadero razonamiento analítico que requiere la salud pública. Repasemos los hitos más importantes de esta práctica:
ggplot2, facilitando la comunicación del riesgo a las
autoridades sanitarias.¡El análisis de datos salva vidas! Nos leemos en el foro.