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:
- Datos globales de Johns Hopkins University para México
- Datos de coronavirus.gob.mx para Sonora y Sinaloa
- 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)
gcovGrá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.
Fuente de los datos Obtenida de: https://datos.gob.mx/busca/dataset/expediente-clinico-electronico-unemes-enfermedades-cronicas--2018
URL de datos CSV crudos: http://www.cenaprece.salud.gob.mx/descargas/Excel/Diagnosticos18.csv
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)")