U1A5

Paul Becerra

12/02/2021

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

Acerca de este documento

  • Este es un documento es producto de un taller para la enseñanza de ciencia de datos con el lenguaje R, en donde se analiza la evolución del covid-19

Ejercicios incluidos

  • Se divide en 3 temas principales:
  1. Datos globales de Johns Hopkins university en 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

En esta parte se importa todas las bibliotecas que nos proporcionan herramientas para el manejo de datos en R.

setwd("~/RTALLERSALUD") # directorio de trabajo
library(pacman) #para implementar la biblioteca pacman
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2","plotly", "gganimate","gifski","scales")

Descarga de este codigo

Para fines de reproducibilidad se incluye todo el codigo para su descarga

xfun::embed_file("U1A5.Rmd")

Download U1A5.Rmd

Datos globales de Johns Hopkins university en México

de lo general a lo particular

Datos obtenidos de:

“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

#Se declaran variables con la url del archivo csv crudo para obtener las estadísticas del día, en vez de importar desde local

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 
#Gracias a la biblioteca "readr" ponemos leer los archivos csv
datos_conf <- read.csv(url_conf)
datos_decesos <- read.csv(url_decesos)
datos_recuperados <- read.csv(url_recuperados)

#definir variables 
#se define como un vector transpuesto porque necesitamos manipular los datos en una sola columna
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

Necesitamos modificar el documento csv para manipular los datos con los que trabajaremos, necesitamos hacer lo siguiente:

  • Eliminar campos no utilizables
  • Formatear las fechas
  • Crear un marco de datos (data frame)
#vector de fecha
#se crea un vector de secuencia desde el día del inicio de los datos hasta el último
Fecha <- seq(from = as.Date("2020-01-22"), to = as.Date("2021-02-16"), by = "day")

#casos confirmados
#se obtiene un vector de la tabla manipulada
vec1 <- as.vector(conf_mex)
#se descarta los campos innecesarios
vec2 <- vec1[5:396]
#se transforma en tipo numerico
num1 <- as.numeric(vec2)
#se transforman de nuevamente a vector para trabajar en graficas
confirmados <- as.vector(num1)

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

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

#generacion de un marco de datos (data frame)

datos1 <- data.frame(Fecha, confirmados, decesos, recuperados)

Graficación de datos

Ahora, con los datos de los casos confirmados, decesos y recuperados vamos a formar gráficas para enterder mejor los datos que tenemos

Gráfica estática
#a través de la libreria ggplot crearemos la grafica, nos solicita un dataframe, el cual contiene los vectores que se mostrarán en la grafica 
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

Gracias al paquete ggplotly podemos hacer la grafica interactiva

ggplotly(gcov)
Grafica animada
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) +
  transition_reveal(Fecha)
gcov

3. 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 Jurisdiccion             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.Diagnostico   Diagnostico Fecha.Diagnotico
## 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

Formateo de datos

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

Graficación

#grafico agrupado
ggplot(SonoraS, aes(fill=Jurisdiccion, y=Diagnostico)) + 
    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