TALLER DE CIENCIA DE DATOS APLICADA A SALUD PÚBLICA Y EPIDEMIOLOGÍA

  • Este documento que explica de manera descriptiva una forma de procesar datos abiertos oficiales de México y convertirlos en análisis y visualizaciones que pueden ser útiles ante la pandemia existente hoy en día por COVID - 19

El código aquí usado está escrito en el lenguaje de programación abierto R

Ejercicios

Este blog se realizó por medio de una transmición de ciencia de datos (data science), con el objetivo de introducir el análisis de las métricas de la salud pública, así como de la evolución y modelación de la pandemia de COVID - 19 usando datos verídicos y oficiales.

  • En este taller se realizan 3 casos de ejercicios:
  1. Datos globales de Johns Hopkins University para México
  2. Datos de coronavirus.gob.mx para Sonora y Sinaloa
  3. Datos de enfermedades crónicas en Sonora.
  • Importación de paquetes / bibliotecas
setwd("~/6to semestre/Estadistica aplicada/Maestro-Visto en clase/U1A5") #Directorio de trabajo
library(pacman) 
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2","plotly", "gganimate","gifski","scales")

Datos globales de Johns Hopkins University para México

Estos datos son obtenidos por un flujo de trabajo reproducible de lo general a lo particular

"Coronavirus COVID - 19 Global Cases by the center for systems Science and Engineering (CSSE) at Johns Hopkins University (JHU) https://coronavirus.jhu.edu/map.html

Importar datos de JHU

# Datos crudos de confirmados, de decesos y confirmados

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 

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

# Definir 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

  • Eliminar campos no utilizables
  • Formatear las fechas
  • Crear un marco de datos (data frame)
#Vector de fecha
Fecha <- seq(from = as.Date("2020-01-22"), to = as.Date("2021-02-13"), by = "day"  )


# Casos confirmados 

vec1 <- as.vector(conf_mex)
vec2 <- vec1[5:393]
num1 <- as.numeric(vec2) 
Confirmados <- as.vector(num1)

# Descesos 

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

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

# Generaciónde un marco de datos (data frame)

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

Graficación de datos

A continuación se presentan visualizaciones que presentan los datos confirmados, decesos y recuperados para 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

Gráfica interactiva

Usando el paquete plotly

ggplotly(gcov)

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)

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 responsable de conducir e implementar los programas sustantivos para la prevención y control de enfermedades, para reducir la morbilidad y mortalidad en la población mexicana.

Importar datos

datos2 <- read.csv("Diagnosticos18.csv", encoding= "latin1")
class(datos2)
## [1] "data.frame"
head(datos2)
##       Estado Jurisdicción             Uneme        CLUES Cve.Persona Genero
## 1 Guanajuato     IRAPUATO UNEME EC IRAPUATO GTSSA017250   GuIRUN5910  Mujer
## 2 Guanajuato     IRAPUATO UNEME EC IRAPUATO GTSSA017250   GuIRUN5953  Mujer
## 3 Guanajuato     IRAPUATO UNEME EC IRAPUATO GTSSA017250   GuIRUN6045  Mujer
## 4 Guanajuato     IRAPUATO UNEME EC IRAPUATO GTSSA017250   GuIRUN6091  Mujer
## 5 Guanajuato     IRAPUATO UNEME EC IRAPUATO GTSSA017250   GuIRUN6138  Mujer
## 6 Guanajuato     IRAPUATO UNEME EC IRAPUATO GTSSA017250   GuIRUN5706 Hombre
##   Cve.Diagnóstico   Diagnóstico Fecha.Diagnótico
## 1           E78.2 Dislipidemias       02/01/2018
## 2           E78.2 Dislipidemias       02/01/2018
## 3           E78.2 Dislipidemias       02/01/2018
## 4           E78.2 Dislipidemias       02/01/2018
## 5           E78.2 Dislipidemias       02/01/2018
## 6           E78.2 Dislipidemias       02/01/2018

Tabla interactiva de datos de enfermedades crónicas

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

Formateo de datos

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

Graficación

# Grafico agrupado
ggplot(SonoraA, aes(fill=Jurisdicción, y=Diagnóstico)) +
  geom_bar(position = "dodge", stat = "count") +
  xlab ("Numero de casos") +
  ylab ("Diagnóstico") +
  ggtitle("Enfermedades cronicas en Sonora, 2018 (CENAPRECE)")