Ciencia de datos aplicado a salud pública y epidemiología

A lo largo de esta actividad se describen, analizan y modelan los datos sobre la pandemia de covid-19. Por lo que, para comprender mejor la situación se realizan 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("~/RTALLERSALUD") #Este es el directorio de trabajo. Con este código presentado a continuación se
#puede instalar la libreria pacman, que sirve para importar y gestionar mejor los paquetes. Así como 
#pacman puede codificar, descargar datos, gráficos, animaciones, etc.

library(pacman) #para importar la biblioteca pacman.
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2","plotly", "gganimate","gifski","scales")

Disponible para descargar el código

xfun::embed_file("RTALLERSALUD.Rmd")

Download RTALLERSALUD.Rmd

#Se utiliza para poder descargar el código desarrollado, pudiendo ser reproducible por otros. 

Datos globales de Johns Hopkins University para México

Son datos obtenidos del mapa de Johns Hopkins, de la página: https://coronavirus.jhu.edu/map.html.

Importar datos de Johns Hopkins University

Usando datos no archivados, de gitHub, se insertan los datos.

#Se declaran las variables para guardar las URL de los datos crudos de los recuperados, 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"

#Con esto podemos leer los archivos .csv de las url anterior. 

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

#Los datos descargados, fueron convertidos en variables para poder puestos de manera horizontal. 

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

Se establecen objetivos para eliminar datos, formatear las fechas y crear un marco de datos.

#Permite visualizar como ha evolucionado la pandemia.
#Vector de fecha
Fecha <- seq(from = as.Date('2020/01/22'), to =  as.Date("2020-12-18"), by = "day")
#Casos de personas confirmadas 
vector1 <- as.vector(conf_mex)
vector2 <- vector1[5:336]
num1 <- as.numeric(vector2)
Confirmados <- as.vector(num1)
#Decesos 
vector1 <- as.vector(dec_mex)
vector2 <- vector1[5:336]
num1 <- as.numeric(vector2)
Decesos <- as.vector(num1)
#Recuperados
vector1 <- as.vector(rec_mex)
vector2 <- vector1[5:336]
num1 <- as.numeric(vector2)
Recuperados <- as.vector(num1)
#Generación de un marco de datos (data frame)
datos1 <- data.frame(Fecha, Confirmados, Decesos, Recuperados)

Graficación de datos

Se presenta una visualización gráfica de los datos COVID-19 en México.

#Se utiliza un paquete llamado ggplot para poder realizar gráficas, con el fin de mostrar los datos del 
#data frame. Usamos los datos contenidos en el data frame para presentar los datos, se usa una geometria #de línea para formar una estetica de mapa.

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 código anterior, podemos representar de manera gráfica e interactiva los datos del covid-19 en México, con el fin de ver de manera más detallada los datos.
ggplotly(gcov)

Gráfica animada

#Al igual que las otras gráficas, esta nos ayuda a ver como se va desarrolando poco a poco el panorama en México, como animación de gif.  
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 enfermedades crónicas en Sonora.

Fuente utilizada para poder crear una tabla y una gráfica de las enfermedades en Sonora: https://datos.gob.mx/busca/dataset/expediente-clinico-electronico-unemes-enfermedades-cronicas--2018.

Importar Datos

#Con esto podemos leer los datos y formar una tabla con dicha información. 
datos2 <- read.csv("Diagnosticos18.csv", encoding = "latin1")
class(datos2)
## [1] "data.frame"
head(datos2)
##           Estado    Jurisdicción                    Uneme       CLUES
## 1 Aguascalientes  AGUASCALIENTES  UNEME EC AGUASCALIENTES ASSSA001104
## 2 Aguascalientes  AGUASCALIENTES  UNEME EC AGUASCALIENTES ASSSA001104
## 3 Aguascalientes  AGUASCALIENTES  UNEME EC AGUASCALIENTES ASSSA001104
## 4 Aguascalientes RINCÓN DE ROMOS UNEME EC RINCÓN DE ROMOS ASSSA001220
## 5 Aguascalientes RINCÓN DE ROMOS UNEME EC RINCÓN DE ROMOS ASSSA001220
## 6 Aguascalientes RINCÓN DE ROMOS UNEME EC RINCÓN DE ROMOS ASSSA001220
##   Cve.Persona Genero Cve.Diagnóstico   Diagnóstico Fecha.Diagnótico
## 1  AgAGUN3655 Hombre           E11.9      Diabetes       02/01/2018
## 2  AgAGUN3655 Hombre           E78.1 Dislipidemias       02/01/2018
## 3  AgAGUN3655 Hombre           I10.X  Hipertension       02/01/2018
## 4   AgRIUN100  Mujer           E11.9      Diabetes       02/01/2018
## 5  AgRIUN1443  Mujer           E11.9      Diabetes       02/01/2018
## 6   AgRIUN273  Mujer           E78.0 Dislipidemias       02/01/2018

Formateo de datos

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

Graficación

#Gráfico agrupado, se hace suma de los diagnósticos.
ggplot(SonoraS, aes(fill = Jurisdicción, y = Diagnóstico)) + 
  geom_bar(position = "dodge", stat = "count") +
  xlab ("Número de casos") +
  ylab ("Diagnóstico") +
ggtitle(" Enfermedades crónicas en Sonora, 2018 (CENAPRECE)") 

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

Conclusiones

Ciencia de datos se entiende por una disciplina que combina 3 cosas: matemáticas, informática y expertos en el ámbito. Se puede explicar cómo interpretaciones para poder obtener conocimiento de datos.

Según estadísticas, se encuentra una asociación directa entre las personas que tienen algún padecimiento y las personas que tienen covid 19, pues se asocia a que se causen más complicaciones a este grupo de personas.

La matriz transpuesta se utiliza para poder representar los datos a través de filas y representar vectores, con ello, se podrá extraer los datos necesarios de México. En una gráfica se pueden representar los datos y la historia de covid 19 en México, con el fin de interpretarse.