Distribuciones de frecuencia y COVID-19

Marijose González del Real

02/Sep/2020

library(prettydoc)

U1A3 DISTRIBUCIONES DE FRECUENCIA Y COVID-19

COVID-19 en México

COVID-19 en México

  • El objetivo de este ejercicio es analizar la frecuencia con la que ocurren los contagios, recuperaciones y muertes por COVID-19 en México.

Para esto, utilizamos datos de la Universidad Johns Hopkins

COVID-19

Importar

Importar paquetes

library(readr) #Leer datos
library(plotly) #Gráficos interactivos
## Loading required package: ggplot2
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(tidyverse) #Ciencia de datos
## -- Attaching packages --------------------------------------------- tidyverse 1.3.0 --
## v tibble  3.0.3     v dplyr   1.0.2
## v tidyr   1.1.1     v stringr 1.4.0
## v purrr   0.3.4     v forcats 0.5.0
## -- Conflicts ------------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks plotly::filter(), stats::filter()
## x dplyr::lag()    masks stats::lag()
library(gganimate) #Animaciones gráficas
library(gifski) #Graficar GIF

Importar URLS de datos

  • Los datos se leerán desde el repositorio de JHSU
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"

Importar a archivo local los datos de URL

  • Leer archivos .csv de las url
datos_conf <- read.csv(url_conf)
datos_decesos <- read.csv(url_decesos)
datos_recuperados <- read.csv(url_recuperados)
  • Extraer datos para México
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" ,])

Ordenar los datos

  • Visuzalización de reconocimiento

Esto con una gráfica sencilla para conocer cómo se comportan los datos para ordenarlos

plot(conf_mex)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

plot(rec_mex)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

plot(dec_mex)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

Transformar los datos

  • En este apartado se van a transformar los datos de Confirmados, Recuperados y Decesos de COVID-19 en México a Vectores númericos (numeric) para después ser ordenados en un marco de datos (Data frame) junto con un Vectore de fechas (Date)
#Elaborar un vector de fechas
Fecha = seq(from = as.Date("2020-01-22"), to = as.Date("2020-09-06"), by = 'day')

#Confirmados
#Transformación de datos a vectores 
vec1 <- as.vector(conf_mex) #A vector
vec2 <- vec1[5:233] #de 5 a 233 (filtrar)
num1 <- as.numeric(vec2) #A números
Confirmados <- as.vector(num1) #A vector númerico

#Decesos
#Transformación de datos a vectores 
vec1 <- as.vector(dec_mex) #A vector
vec2 <- vec1[5:233] #de 5 a 233
num1 <- as.numeric(vec2) #A números
Decesos <- as.vector(num1) #A vector númerico

#Recuperados
#Transformación de datos a vectores 
vec1 <- as.vector(rec_mex) #A vector
vec2 <- vec1[5:233] #de 5 a 233
num1 <- as.numeric(vec2) #A números
Recuperados <- as.vector(num1) #A vector númerico


#Ordenar los datos en un data frame, marco de datos, matriz


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

Visualizar

Gráficas

#Figura 2 Confirmados ggplot
ggplot(data = datos1) +
  geom_line(mapping = aes(x = Fecha, y = Confirmados)) +
  ggtitle("Casos acumulados confirmados de COVID-19 en México, al día 06/09/20")

#Figura 3 Recuperados ggplot
ggplot(data = datos1) +
  geom_line(mapping = aes(x = Fecha, y = Recuperados)) +
  ggtitle("Casos acumulados de recuperados de COVID-19 en México, al día 06/09/20")

#Figura 4 Decesos ggplot
ggplot(data = datos1) +
  geom_line(mapping = aes(x = Fecha, y = Decesos)) +
  ggtitle("Casos acumulados de Decesos de COVID-19 en México, al día 06/09/20")

Gráfico animado

El objetivo de realizar animacione de transición temporal es ilustrar la manera en la que han crecido los casos confirmados de COVID-19.

#Animación 1 simple
ggplot(data = datos1) +
  geom_line(mapping = aes(x = Fecha, y = Confirmados)) +
  ggtitle("Casos acumulados confirmados de COVID-19 en México, al día 06/09/20") +
  transition_reveal(Fecha)

Gráfico interactivo en conjunto

#Animación 2
ggplot(data=datos1) +
  geom_line(aes(x=Fecha, y=Confirmados), colour="red") +
  geom_line(aes(x=Fecha, y=Decesos), colour="green") +
  geom_line(aes(x=Fecha, y=Recuperados), colour="blue") +
  ggtitle("Casos acumulados de COVID-19 en México, al día 06/09/20") +
  ylab("COVID-19 en México") + xlab("Fecha") +
  transition_reveal(Fecha)

Gráfico interactivo con plotly

#Gráfica interactiva compuesta
gcov <- ggplot(data=datos1) +
  geom_line(aes(x=Fecha, y=Confirmados), colour="red") +
  geom_line(aes(x=Fecha, y=Decesos), colour="green") +
  geom_line(aes(x=Fecha, y=Recuperados), colour="blue") +
  ggtitle("Casos acumulados de COVID-19 en México, al día 06/09/20") +
  ylab("COVID-19 en México") + xlab("Fecha") +
  transition_reveal(Fecha)


ggplotly(gcov)

COVID-19 en Japón

COVID-19 en Japón

Importar

  • Extraer datos para Japón
conf_jap <- t(datos_conf[datos_conf$Country.Region =="Japan" ,])
dec_jap <- t(datos_decesos[datos_decesos$Country.Region =="Japan" ,])
rec_jap <- t(datos_recuperados[datos_recuperados$Country.Region =="Japan" ,])

Ordenar los datos

  • Visuzalización de reconocimiento

Esto con una gráfica sencilla para conocer cómo se comportan los datos para ordenarlos

plot(conf_jap)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

plot(rec_jap)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

plot(dec_jap)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

Transformar los datos

  • En este apartado se van a transformar los datos de Confirmados, Recuperados y Decesos de COVID-19 en Japón a Vectores númericos (numeric) para después ser ordenados en un marco de datos (Data frame) junto con un Vectore de fechas (Date)
#Elaborar un vector de fechas
Fecha = seq(from = as.Date("2020-01-22"), to = as.Date("2020-09-06"), by = 'day')

#Confirmados
#Transformación de datos a vectores 
vec1 <- as.vector(conf_jap) #A vector
vec2 <- vec1[5:233] #de 5 a 233 (filtrar)
num1 <- as.numeric(vec2) #A números
Confirmados <- as.vector(num1) #A vector númerico

#Decesos
#Transformación de datos a vectores 
vec1 <- as.vector(dec_jap) #A vector
vec2 <- vec1[5:233] #de 5 a 233
num1 <- as.numeric(vec2) #A números
Decesos <- as.vector(num1) #A vector númerico

#Recuperados
#Transformación de datos a vectores 
vec1 <- as.vector(rec_jap) #A vector
vec2 <- vec1[5:233] #de 5 a 233
num1 <- as.numeric(vec2) #A números
Recuperados <- as.vector(num1) #A vector númerico


#Ordenar los datos en un data frame, marco de datos, matriz


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

Visualizar

Gráficas

#Figura 2 Confirmados ggplot
ggplot(data = datos1) +
  geom_line(mapping = aes(x = Fecha, y = Confirmados)) +
  ggtitle("Casos acumulados confirmados de COVID-19 en Japón, al día 06/09/20")

#Figura 3 Recuperados ggplot
ggplot(data = datos1) +
  geom_line(mapping = aes(x = Fecha, y = Recuperados)) +
  ggtitle("Casos acumulados de recuperados de COVID-19 en Japón, al día 06/09/20")

#Figura 4 Decesos ggplot
ggplot(data = datos1) +
  geom_line(mapping = aes(x = Fecha, y = Decesos)) +
  ggtitle("Casos acumulados de Decesos de COVID-19 en Japón, al día 06/09/20")

Gráfico animado

El objetivo de realizar animacione de transición temporal es ilustrar la manera en la que han crecido los casos confirmados de COVID-19.

#Animación 1 simple
ggplot(data = datos1) +
  geom_line(mapping = aes(x = Fecha, y = Confirmados)) +
  ggtitle("Casos acumulados confirmados de COVID-19 en Japón, al día 06/09/20") +
  transition_reveal(Fecha)

Gráfico interactivo en conjunto

#Animación 2
ggplot(data=datos1) +
  geom_line(aes(x=Fecha, y=Confirmados), colour="red") +
  geom_line(aes(x=Fecha, y=Decesos), colour="blue") +
  geom_line(aes(x=Fecha, y=Recuperados), colour="green") +
  ggtitle("Casos acumulados de COVID-19 en Japón, al día 06/09/20") +
  ylab("COVID-19 en Japón") + xlab("Fecha") +
  transition_reveal(Fecha)

Gráfico interactivo con plotly

#Gráfica interactiva compuesta
gcov <- ggplot(data=datos1) +
  geom_line(aes(x=Fecha, y=Confirmados), colour="red") +
  geom_line(aes(x=Fecha, y=Decesos), colour="blue") +
  geom_line(aes(x=Fecha, y=Recuperados), colour="green") +
  ggtitle("Casos acumulados de COVID-19 en Japón, al día 06/09/20") +
  ylab("COVID-19 en Japón") + xlab("Fecha") +
  transition_reveal(Fecha)


ggplotly(gcov)

Conclusiones

En esta asignación se observaron los datos estadísticos sobre el COVID-19 en México y en Japón. Además, se elaboraron 3 variables de las cuales contienen el número de confirmados, decesos y recuperados. No obstante, se pudieron observar y comparar los casos acumulados de confirmados, decesos y recuperados, mediante gráficas y animaciones. Finalmente se puede decir que estas tres variables en México, aumentan de forma exponencial y se espera que se “aplanen” las curvas de confirmados y decesos. Sin embargo, en Japón hubieron muchos menos casos que en México y se observa como casi no se presentaron decesos ya que fue una acumulación de 1366 solamente.