U1A6

Marian Gutiérrez

14/9/2020


Análisis comparativo de datos de salud y COVID-19 en Sonora, Sinaloa, Durango y Zacatecas.

COVID-19

  • Folder de trabajo
setwd("~/PyE")

Importar

Importar paquetes

library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc", "readr", "knitr", "DT", "tidyverse", "scales", "gridExtra", "modeest", "fdth")

Se importan desde un archivo local .csv los datos diarios de casos confirmados de COVID-19 para todo México desde la URL oficial: https://coronavirus.gob.mx/datos/#DownZCSV

datos <- read.csv("Casos_Diarios_Estado_Nacional_Confirmados_20200913.csv")

Sonora y Sinaloa

Transformar

Se realiza primeramente una extracción de los datos desde el data frame para Sonora y Sinaloa para juntarlos en un data frame junto con un vectos de Fecha

#DATOS DIARIOS CONFIRMADOS PARA SONORA
sonora <- t(datos[datos$nombre == "SONORA", ])
sonora <- as.vector(sonora)
sonora <- sonora[4:248]
sonora <- as.numeric(sonora)
sonora <- as.vector(sonora) #Datos absolutos diarios
asonora <- cumsum(sonora) #Datos acumulados

#DATOS DIARIOS CONFIRMADOS PARA SINALOA
sinaloa <- t(datos[datos$nombre == "SINALOA", ])
sinaloa <- as.vector(sinaloa)
sinaloa <- sinaloa[4:248]
sinaloa <- as.numeric(sinaloa)
sinaloa <- as.vector(sinaloa) #Datos absolutos diarios
asinaloa <- cumsum(sinaloa) #Datos acumulados

#Generar un vector de Fecha
Fecha <- seq(from = as.Date("2020-01-12"), to = as.Date("2020-09-12"), by = "day")

#Esctructurar los datos en un marco de datos (data frame)
sonsin <- data.frame(Fecha, sonora, sinaloa)
asonsin <- data.frame(Fecha, asonora, asinaloa)

Visualizar

Visualizar datos en forma de tabla interactiva

#Tabla de datos absolutos
datatable(sonsin)
#Tabla de datos acumulados
datatable(asonsin)

Visualizar los datos con gráficas usando ggplot2

  • Gráfica de datos absolutos (datos diarios de casos confirmados de COVID-19) en Sonora y Sinaloa (desde el 12 de Enero al 12 de Septiembre de 2020)
ggplot (data=sonsin)+ 
  geom_line(aes(Fecha, sonora, colour = "Sonora")) +
  geom_line(aes(Fecha, sinaloa, colour = "Sinaloa")) +
  xlab("Fecha")+
  ylab("Casos diarios absolutos")+
  labs(colour = "Estados")+
  ggtitle ("Casos diarios confirmados de COVID-19 en Sonora y Sinaloa")+
  scale_y_continuous (labels=comma)

  • Gráfica de datos acumulados (datos diarios de casos confirmados de COVID-19) en Sonora y Sinaloa (desde el 12 de Enero al 12 de Septiembre de 2020)
ggplot (data=sonsin)+ 
  geom_line(aes(Fecha, asonora, colour = "Sonora")) +
  geom_line(aes(Fecha, asinaloa, colour = "Sinaloa")) +
  xlab("Fecha")+
  ylab("Casos diarios absolutos")+
  labs(colour = "Estados")+
  ggtitle ("Casos diarios confirmados de COVID-19 en Sonora y Sinaloa")+
  scale_y_continuous (labels=comma)

  • Gráfica combinada de datos acumulados y absolutos para Sonora.
sonora1 <- data.frame(Fecha, sonora, asonora)

g2 <- ggplot(data=sonora1)+
  geom_col(aes(Fecha, asonora))+
  xlab("Fecha")+
  ylab("Casos acumulados")+
  ggtitle ("A) Confirmados de COVID-19 en Sonora (Acumulados)")+
  scale_y_continuous(labels=comma)

g3 <- ggplot(data=sonora1)+
  geom_col(aes(Fecha, sonora))+
  xlab("Fecha")+
  ylab("Casos diarios")+
  ggtitle ("A) Confirmados de COVID-19 en Sonora (Absolutos)")+
  scale_y_continuous(labels=comma)

grid.arrange(g2,g3)

  • Gráfica combinada de datos acumulados y absolutos para Sinaloa.
sinaloa1 <- data.frame(Fecha, sinaloa, asinaloa)

g2 <- ggplot(data=sinaloa1)+
  geom_col(aes(Fecha,asinaloa))+
  xlab("Fecha")+
  ylab("Casos acumulados")+
  ggtitle ("A) Confirmados de COVID-19 en Sinaloa (Acumulados)")+
  scale_y_continuous(labels=comma)

g3 <- ggplot(data=sinaloa1)+
  geom_col(aes(Fecha, sinaloa))+
  xlab("Fecha")+
  ylab("Casos diarios")+
  ggtitle ("A) Confirmados de COVID-19 en Sinaloa (Absolutos)")+
  scale_y_continuous(labels=comma)

grid.arrange(g2,g3)

Medidas de posición central

  • Calculo individual de las medidas principales de valores absolutos de casos confirmados para Sonora (MMM)
mean(sonora) #Media aritmética (promedio)
## [1] 94.53061
median(sonora) #Mediana
## [1] 45
mfv(sonora) #Moda
## [1] 0
  • Calculo individual de las medidas principales de valores absolutos de casos confirmados para Sinaloa (MMM)
mean(sinaloa) #Media aritmética (promedio)
## [1] 70.73469
median(sinaloa) #Mediana
## [1] 55
mfv(sinaloa) #Moda
## [1] 0

Resumen estadístico

summary(sonora)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00   45.00   94.53  154.00  482.00
summary(sinaloa)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00   55.00   70.73  122.00  291.00

Gráfico de caja y bigote

boxplot(sonora)

boxplot(sinaloa)

Medidas de dispersion

  • Varianza
var(sonora)
## [1] 13317.47
var(sinaloa)
## [1] 4742.007
  • Desviación estandar
sd(sonora)
## [1] 115.4013
sd(sinaloa)
## [1] 68.86223

Tabla de distribuciones

dist <-fdt(sonora, breaks = "Sturges")
dist
##       Class limits   f   rf rf(%)  cf  cf(%)
##        [0,54.0911) 126 0.51 51.43 126  51.43
##  [54.0911,108.182)  30 0.12 12.24 156  63.67
##  [108.182,162.273)  31 0.13 12.65 187  76.33
##  [162.273,216.364)  19 0.08  7.76 206  84.08
##  [216.364,270.456)  13 0.05  5.31 219  89.39
##  [270.456,324.547)   9 0.04  3.67 228  93.06
##  [324.547,378.638)  10 0.04  4.08 238  97.14
##  [378.638,432.729)   5 0.02  2.04 243  99.18
##   [432.729,486.82)   2 0.01  0.82 245 100.00
dist1 <-fdt(sinaloa, breaks = "Sturges")
dist1
##       Class limits  f   rf rf(%)  cf  cf(%)
##        [0,32.6567) 98 0.40 40.00  98  40.00
##  [32.6567,65.3133) 34 0.14 13.88 132  53.88
##    [65.3133,97.97) 28 0.11 11.43 160  65.31
##    [97.97,130.627) 32 0.13 13.06 192  78.37
##  [130.627,163.283) 23 0.09  9.39 215  87.76
##   [163.283,195.94) 18 0.07  7.35 233  95.10
##   [195.94,228.597)  9 0.04  3.67 242  98.78
##  [228.597,261.253)  2 0.01  0.82 244  99.59
##   [261.253,293.91)  1 0.00  0.41 245 100.00

Histogramas y polígonos de frecuencia

  • Sonora
plot(dist, type="fh") #Histograma de frecuencias

plot(dist, type="cfh") #Histograma de frecuencias acumuladas

plot(dist, type="rfh") #Histograma de frecuencias relativas

plot(dist, type="fp") #Poligono de frecuencias

plot(dist, type="cfp") #Poligono de frecuencias acumuladas

plot(dist, type="rfp") #Poligono de frecuencias relativas

  • Sinaloa
plot(dist1, type="fh") #Histograma de frecuencias

plot(dist1, type="cfh") #Histograma de frecuencias acumuladas

plot(dist1, type="rfh") #Histograma de frecuencias relativas

plot(dist1, type="fp") #Poligono de frecuencias

plot(dist1, type="cfp") #Poligono de frecuencias acumuladas

plot(dist1, type="rfp") #Poligono de frecuencias relativas

Durango y Zacatecas

Transformar

Se realiza primeramente una extracción de los datos desde el data frame para Durango y Zacatecas para juntarlos en un data frame junto con un vectos de Fecha

#DATOS DIARIOS CONFIRMADOS PARA DURANGO
durango <- t(datos[datos$nombre == "DURANGO", ])
durango <- as.vector(durango)
durango <- durango[4:248]
durango <- as.numeric(durango)
durango <- as.vector(durango) #Datos absolutos diarios
adurango <- cumsum(durango) #Datos acumulados

#DATOS DIARIOS CONFIRMADOS PARA ZACATECAS
zacatecas <- t(datos[datos$nombre == "ZACATECAS", ])
zacatecas <- as.vector(zacatecas)
zacatecas <- zacatecas[4:248]
zacatecas <- as.numeric(zacatecas)
zacatecas <- as.vector(zacatecas) #Datos absolutos diarios
azacatecas <- cumsum(zacatecas) #Datos acumulados

#Generar un vector de Fecha
Fecha <- seq(from = as.Date("2020-01-12"), to = as.Date("2020-09-12"), by = "day")

#Esctructurar los datos en un marco de datos (data frame)
durzac <- data.frame(Fecha, durango, zacatecas)
adurzac <- data.frame(Fecha, adurango, azacatecas)

Visualizar

Visualizar datos en forma de tabla interactiva

#Tabla de datos absolutos
datatable(durzac)
#Tabla de datos acumulados
datatable(adurzac)

Visualizar los datos con gráficas usando ggplot2

  • Gráfica de datos absolutos (datos diarios de casos confirmados de COVID-19) en Durango y Zacatecas (desde el 12 de Enero al 12 de Septiembre de 2020)
ggplot (data=durzac)+ 
  geom_line(aes(Fecha, durango, colour = "Durango")) +
  geom_line(aes(Fecha, zacatecas, colour = "Zacatecas")) +
  xlab("Fecha")+
  ylab("Casos diarios absolutos")+
  labs(colour = "Estados")+
  ggtitle ("Casos diarios confirmados de COVID-19 en Durango y Zacatecas")+
  scale_y_continuous (labels=comma)

  • Gráfica de datos acumulados (datos diarios de casos confirmados de COVID-19) en Sonora y Sinaloa (desde el 12 de Enero al 12 de Septiembre de 2020)
ggplot (data=durzac)+ 
  geom_line(aes(Fecha, adurango, colour = "Durango")) +
  geom_line(aes(Fecha, azacatecas, colour = "Zacatecas")) +
  xlab("Fecha")+
  ylab("Casos diarios absolutos")+
  labs(colour = "Estados")+
  ggtitle ("Casos diarios confirmados de COVID-19 en Durango y Zacatecas")+
  scale_y_continuous (labels=comma)

  • Gráfica combinada de datos acumulados y absolutos para Durango.
durango1 <- data.frame(Fecha, durango, adurango)

g2 <- ggplot(data=durango1)+
  geom_col(aes(Fecha, adurango))+
  xlab("Fecha")+
  ylab("Casos acumulados")+
  ggtitle ("A) Confirmados de COVID-19 en Durango (Acumulados)")+
  scale_y_continuous(labels=comma)

g3 <- ggplot(data=durango1)+
  geom_col(aes(Fecha, durango))+
  xlab("Fecha")+
  ylab("Casos diarios")+
  ggtitle ("A) Confirmados de COVID-19 en Durango (Absolutos)")+
  scale_y_continuous(labels=comma)

grid.arrange(g2,g3)

  • Gráfica combinada de datos acumulados y absolutos para Zacatecas.
zacatecas1 <- data.frame(Fecha, zacatecas, azacatecas)

g2 <- ggplot(data=zacatecas1)+
  geom_col(aes(Fecha, azacatecas))+
  xlab("Fecha")+
  ylab("Casos acumulados")+
  ggtitle ("A) Confirmados de COVID-19 en Zacatecas (Acumulados)")+
  scale_y_continuous(labels=comma)

g3 <- ggplot(data=zacatecas1)+
  geom_col(aes(Fecha, zacatecas))+
  xlab("Fecha")+
  ylab("Casos diarios")+
  ggtitle ("A) Confirmados de COVID-19 en Zacatecas (Absolutos)")+
  scale_y_continuous(labels=comma)

grid.arrange(g2,g3)

Medidas de posición central

  • Calculo individual de las medidas principales de valores absolutos de casos confirmados para Durango (MMM)
mean(durango) #Media aritmética (promedio)
## [1] 31.52245
median(durango) #Mediana
## [1] 8
mfv(durango) #Moda
## [1] 0
  • Calculo individual de las medidas principales de valores absolutos de casos confirmados para Zacatecas (MMM)
mean(zacatecas) #Media aritmética (promedio)
## [1] 25.99184
median(zacatecas) #Mediana
## [1] 7
mfv(zacatecas) #Moda
## [1] 0

Resumen estadístico

summary(durango)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00    8.00   31.52   66.00  144.00
summary(zacatecas)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00    7.00   25.99   45.00  172.00

Gráfico de caja y bigote

boxplot(durango)

boxplot(zacatecas)

Medidas de dispersion

  • Varianza
var(durango)
## [1] 1636.759
var(zacatecas)
## [1] 1268.615
  • Desviación estandar
sd(durango)
## [1] 40.45687
sd(zacatecas)
## [1] 35.61762

Tabla de distribuciones

dist2 <-fdt(durango, breaks = "Sturges")
dist2
##     Class limits   f   rf rf(%)  cf  cf(%)
##        [0,16.16) 137 0.56 55.92 137  55.92
##    [16.16,32.32)  27 0.11 11.02 164  66.94
##    [32.32,48.48)   9 0.04  3.67 173  70.61
##    [48.48,64.64)  10 0.04  4.08 183  74.69
##     [64.64,80.8)  17 0.07  6.94 200  81.63
##     [80.8,96.96)  16 0.07  6.53 216  88.16
##   [96.96,113.12)  19 0.08  7.76 235  95.92
##  [113.12,129.28)   7 0.03  2.86 242  98.78
##  [129.28,145.44)   3 0.01  1.22 245 100.00
dist3 <-fdt(zacatecas, breaks = "Sturges")
dist3
##       Class limits   f   rf rf(%)  cf  cf(%)
##        [0,19.3022) 156 0.64 63.67 156  63.67
##  [19.3022,38.6044)  22 0.09  8.98 178  72.65
##  [38.6044,57.9067)  19 0.08  7.76 197  80.41
##  [57.9067,77.2089)  13 0.05  5.31 210  85.71
##  [77.2089,96.5111)  21 0.09  8.57 231  94.29
##  [96.5111,115.813)  10 0.04  4.08 241  98.37
##  [115.813,135.116)   3 0.01  1.22 244  99.59
##  [135.116,154.418)   0 0.00  0.00 244  99.59
##   [154.418,173.72)   1 0.00  0.41 245 100.00

Histogramas y polígonos de frecuencia

  • Durango
plot(dist2, type="fh") #Histograma de frecuencias

plot(dist2, type="cfh") #Histograma de frecuencias acumuladas

plot(dist2, type="rfh") #Histograma de frecuencias relativas

plot(dist2, type="fp") #Poligono de frecuencias

plot(dist2, type="cfp") #Poligono de frecuencias acumuladas

plot(dist2, type="rfp") #Poligono de frecuencias relativas

  • Zacatecas
plot(dist3, type="fh") #Histograma de frecuencias

plot(dist3, type="cfh") #Histograma de frecuencias acumuladas

plot(dist3, type="rfh") #Histograma de frecuencias relativas

plot(dist3, type="fp") #Poligono de frecuencias

plot(dist3, type="cfp") #Poligono de frecuencias acumuladas

plot(dist3, type="rfp") #Poligono de frecuencias relativas

Conclusiones

En este ejercicio comparamos los datos acumulados y absolutos de casos confirmados de COVID-19 en los estados de Sonora, Sinaloa, Durango y Zacatecas. Con esto pudimos llegar a la conclusión de que Sonora tiene el mayor número de confirmados de COVID-19 a comparación de Sinaloa. Y entre Durango y Zacatecas, Durango cuenta con más casos.

Además, este ejercicio nos ayudó a aprender a utilizar librerías nuevas que ayudadn en la lectura de datos, visualizacion, etc.