Taller de Ciencia de Datos Aplicado a Salud Pública y Epidemiología

Acerca de este documento:

Este es un documento basado en una explicación que demuestra la forma de procesar datos abiertos oficiales de México y convertirlos en análisis y visualizaciones que pueden ser de gran utilidad para las personas ante la pandemia por Covid-19

  • Este análisis fue realizado para difundir y democratizar el uso y análisis de datos en México para que de esta forma se logre crear una masa crítica que nos permita tener mejores decisiones con mejores herramientas y métodos.

  • El código utilizado está escrito en el lenguaje de programación abierto r y puede ser descargado, así como también sus datos que se encuentran en los hipervínculos de abajo.

Ejercicios incluidos

  • Se desea introducir al tema del análisis de salud pública así como de su evolución y modelación de la pandemia de Covid-19 haciendo uso de datos reales.

  • A lo largo de este tema se verán los siguientes 2 ejercicios:

  1. Datos globales de johns Hopkins University para México
  2. Datos de enfermedades crónicas en Sonora

Importación de paquetes / bibliotecas

setwd("~/Estadistica/COVID") #Directorio de trabajo
library(pacman) #Para importar la biblioteca "pacman"
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2","plotly", "gganimate","gifski","scales")

Descarga de este código

Para fines de reproducibilidad inmediata se incluye todo el código para su descarga

xfun::embed_file("U1A5.Rmd")

Download U1A5.Rmd

1. Datos globales de johns Hopkins University para México

De lo general a lo específico

Datos obtenidos de:

“Coronavirus COVID-19 Global Cases by the Center for Systems Science and Engineering (CSSE) at Johns Hopkins University (JHU)”

Importar datos de Johns Hopkins University (JHU)

#De esta manera se realiza la declaración de las variables que contendrán las URL en donde se encuentran los datos crudos de confirmados, decesos y recuperados.

url_conf <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv"

url_decesos <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv"

url_recuperados <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv"

#Leer los archivos .csv de las URL

datos_conf <- read.csv(url_conf)
datos_decesos <- read.csv(url_decesos)
datos_recuperados <- read.csv(url_recuperados)

#Definición de variables

conf_mex <- t(datos_conf[datos_conf$Country.Region=="Mexico" ,])
dec_mex <- t(datos_decesos[datos_decesos$Country.Region=="Mexico" ,])
rec_mex <- t(datos_recuperados[datos_recuperados$Country.Region=="Mexico" ,])

Formatear Datos para un mejor entendimiento

  • Eliminación de campos que no se utilizarán
  • Formateo de las fechas
  • Creación de un marco de datos (conocido también como data frame)
#Vector de fecha
Fecha <- seq(from = as.Date("2020-01-22"), to = as.Date("2021-02-14"), by = "day" )

#Casos confirmados
vec1 <- as.vector(conf_mex)
vec2 <- vec1[5:394]
num1 <- as.numeric(vec2)
Confirmados <- as.vector(num1)

#Decesos
vec1 <- as.vector(dec_mex)
vec2 <- vec1[5:394]
num1 <- as.numeric(vec2)
Decesos <- as.vector(num1)

#Recuperados
vec1 <- as.vector(rec_mex)
vec2 <- vec1[5:394]
num1 <- as.numeric(vec2)
Recuperados <- as.vector(num1)

#Fabricación de un marco de datos (también denominado data frame)

datos1 <- data.frame(Fecha, Confirmados, Decesos, Recuperados)

Graficación de Datos

Se presentan visualizaciones de los datos Confirmados, Decesos y Recuperaciones de México

Gráfica Estática

gcov <- ggplot(data = datos1) + 
  geom_line(aes(Fecha, Confirmados, colour="Confirmados")) +
  geom_line(aes(Fecha, Decesos, colour="Decesos")) +
  geom_line(aes(Fecha, Recuperados, colour="Recuperados")) +
  xlab("Fecha") +
  ylab("COVID-19 en México") +
  labs(colour="casos") +
  ggtitle("Casos de COVID-19 en México (Fuente: JHU CSSE)") +
  scale_y_continuous(labels = comma)
gcov

  • En esta gráfica se puede observar que el caso de confirmados fue aumentando desde el mes de abril del año 2020 hasta hoy en la actualidad con aproximadamente 2,000,000 de personas, es muy notable que esto se dió a causa de que las personas dejaron de respetar los protocolos de seguridad. Por otro lado el caso de recuperados fue aumentando con el transcurso de los meses y aproximadamente en el mes de agosto y novimebre se puede observar un descenso, esto se debe a que comenzaron a existir más decesos o tardaron bastante tiempo en recuperarse. Finalmente en la línea representativa de decesos se observa que ésta fue incrementando con el paso de los meses hasta llegar a las casi 250,000 muertes en el mes de febrero del año 2021, muy probablemente sea porque eran personas mayores o bien tenían otros problemas de salud graves.

Gráfica interactiva

Gracias al uso del paquete “plotly”, se obtiene lo siguiente:

ggplotly(gcov)
  • Con ayuda de este paquete se puede hacer zoom a la gráfica y ver con más precisión en qué mes y día hubo más casos confirmados, recuperados y decesos, para una interpretación más precisa y exacta.

Gráfica animada

ggplot(data = datos1) + 
  geom_line(aes(Fecha, Confirmados, colour="Confirmados")) +
  geom_line(aes(Fecha, Decesos, colour="Decesos")) +
  geom_line(aes(Fecha, Recuperados, colour="Recuperados")) +
  xlab("Fecha") +
  ylab("COVID-19 en México") +
  labs(colour="casos") +
  ggtitle("Casos de COVID-19 en México (Fuente: JHU CSSE)") +
  scale_y_continuous(labels = comma) +
  transition_reveal(Fecha)

  • Se puede observar como va creciendo la gráfica de forma animada, de esta manera ayuda a entender más en perspectiva el problema de como esta pandemia va en aumento.

2. Datos de enfermedades crónicas en Sonora

Expediente Clínico Electrónico UNEMES (Unidades de Especialidades Médicas) Enfermedades Crónicas 2018

  • El Centro Nacional de Programas Preventivos y Control de Enfermedades (CENAPRECE), es el órgano desconcentrado de la Secretaría de Salud que se encarga de conducir e implementar los programas para la prevención y control de enfermedades, con el fin de disminuir la morbilidad y mortalidad en México.

Importación de Datos:

datos2 <- read.csv("Diagnosticos18.csv", encoding= "latin1")
class(datos2)
## [1] "data.frame"
head(datos2)
##     Estado Jurisdiccion             Uneme       CLUES Cve.Persona Genero
## 1 Guerrero     ACAPULCO UNEME EC ACAPULCO GRSSA012354  GuACUN2751  Mujer
## 2 Guerrero     ACAPULCO UNEME EC ACAPULCO GRSSA012354  GuACUN5442  Mujer
## 3 Guerrero     ACAPULCO UNEME EC ACAPULCO GRSSA012354  GuACUN5995  Mujer
## 4 Guerrero     ACAPULCO UNEME EC ACAPULCO GRSSA012354  GuACUN6110 Hombre
## 5 Guerrero     ACAPULCO UNEME EC ACAPULCO GRSSA012354  GuACUN6113 Hombre
## 6 Guerrero     ACAPULCO UNEME EC ACAPULCO GRSSA012354  GuACUN5995  Mujer
##   Cve.Diagnostico   Diagnostico Fecha.Diagnostico
## 1           E11.9      Diabetes        08/01/2018
## 2           E11.9      Diabetes        08/01/2018
## 3           E11.9      Diabetes        08/01/2018
## 4           E11.9      Diabetes        08/01/2018
## 5           E11.9      Diabetes        08/01/2018
## 6           E78.6 Dislipidemias        08/01/2018

Formateo de Datos:

SonoraS <- t(datos2[datos2$Estado == "Sonora", ])
SonoraS <- (datos2[datos2$Estado == "Sonora", ])

Graficación:

#Gráfico agrupado

ggplot(SonoraS, aes(fill=Jurisdiccion, y=Diagnostico)) +
  geom_bar(position ="dodge", stat="count") +
  xlab("Numero de casos") +
  ylab("Diagnostico") +
  ggtitle("Enfermedades cronicas en Sonora, 2018 (Fuente: CENAPRECE)")

  • Esta tabla se nos indica de qué manera se comporta el conteo de cada una de las enfermedades crónicas en diversas ciudades de Sonora. La enfermedad que más predomina en Caborca, Hermosillo y Ciudad Obregón es Diabetes y finalmente en Santa Ana predomina la obesidad.

Tabla Interactiva de Datos:

datatable(datos2)
## Warning in instance$preRenderHook(instance): It seems your data is too big
## for client-side DataTables. You may consider server-side processing: https://
## rstudio.github.io/DT/server.html
  • Se creó una tabla interactiva de datos con el fin de resumir de manera rápida el gran tamaño de información que se tiene y poder analizar de mejor manera los datos que tenemos, tales como el estado, ciudad, género, diagnóstico de la enfermedad crónica, fecha de diagnóstico, etc.