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:
- Datos globales de Johns Hopkins University para México.
- 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")#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)
gcovGrá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.