Análisis comparativo de datos se Salud y COVID-19 en Sonora

setwd("~/probabilidadyestadistica")

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")

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 vector 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) #para poner los datos acumulados

#DATOS DIARIOS CONFIRMADOS PARA SONORA
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) #para poner los datos acumulados

#Generar un vector de Fecha

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

#Estructurar 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 = asonsin) +
  geom_line(aes(Fecha, asonora, colour = "sonora")) +
  geom_line(aes(Fecha, asinaloa, colour = "sinaloa")) +
  xlab("Fecha") +
  ylab("Casos diarios acumulados") +
  labs (colour = "Estados") +
  ggtitle("Casos diarios confirmados de COVID-19 en Sonora y Sinaloa") +
  scale_y_continuous(labels=comma)

#gráfica sigmoidal
  • Gráfica combinada de datos acumulados y absolutos
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 (Absolutos)" ) +
  scale_y_continuous(labels=comma)

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

grid.arrange(g2,g3)

Medidas de posición central

Sonora

  • Cálculo individual de las medidas principales de valores absolutos confirmados para Sonora (MMM)
mean(sonora) #media de sonora (mean es para sacar la media)
## [1] 94.53061
median(sonora)
## [1] 45
mfv(sonora) #Moda (most frequent values) Valores mas frecuentes (para sacar 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

Gráfico de caja y bigote

boxplot(sonora)

Medidas de dispersión

plot(sonora)

  • Varianza
var(sonora) #distancia de los datos a la media
## [1] 13317.47
  • Desviación estándar
sd(sonora)
## [1] 115.4013

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

Histogramas y polígonos de frecuencia

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

plot(dist, type = "cfh") #hist de frcuencias acumuladas 

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

plot(dist, type = "fp") #polígono de frecuencias

plot(dist, type = "cfp") #polígono de frecuencias acumuladas

plot(dist, type = "rfp") #polígono de frecuencias relativas

Análisis comparativo de datos se Salud y COVID-19 en Oaxaca y Chiapas

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")

TRANSFORMAR

Se realiza primeramente una extracción de los datos desde el data frame para Oaxaca y Chiapas para juntarlos en un data frame junto con un vector de Fecha

#Datos diarios confirmados para Oaxaca
oaxaca <- t(datos[datos$nombre == "OAXACA" ,])
oaxaca <- as.vector(oaxaca) #aquí está como character
oaxaca <- oaxaca[4:248] 
oaxaca <- as.numeric(oaxaca) #Para convertirlo en valores numéricos
oaxaca <- as.vector(oaxaca) #datos absolutos diarios
aoaxaca <- cumsum(oaxaca) #datos acumulados diarios

#Datos diarios confirmados para Chiapas
chiapas <- t(datos[datos$nombre == "CHIAPAS" ,])
chiapas <- as.vector(chiapas) #aquí está como character
chiapas <- chiapas[4:248] 
chiapas <- as.numeric(chiapas) #Para convertirlo en valores numéricos
chiapas <- as.vector(chiapas) #datos absolutos diarios
achiapas <- cumsum(chiapas) #datos acumulados diarios

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

#Estructurar los datos en un marco de datos (data frame)

chioax <- data.frame(Fecha, oaxaca, chiapas)
achioax <- data.frame(Fecha, aoaxaca, achiapas)

Visualizar

Visualizar datos en forma de tabla interactiva

#tabla de datos absolutos
datatable(chioax)
#tabla de datos acumulados
datatable(achioax)

Visualizar los datos con gráficas usando ggplot2

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

  • Gráfica de datos acumulados (datos diarios de casos confirmados de COVID-19 en Oaxaca y Chiapas (desde el 12 de Enero al 12 de Septiembre de 2020))
ggplot(data = achioax) +
  geom_line(aes(Fecha, aoaxaca, colour = "Oaxaca")) +
  geom_line(aes(Fecha, achiapas, colour = "Chiapas")) +
  xlab("Fecha") +
  ylab("Casos diarios acumulados") +
  labs (colour = "Estados") +
  ggtitle("Casos diarios confirmados de COVID-19 en Oaxaca y Chiapas") +
  scale_y_continuous(labels=comma)

#gráfica sigmoidal

Oaxaca

  • Gráfica combinada de datos acumulados y absolutos de Oaxaca
oaxaca1 <- data.frame(Fecha, oaxaca, aoaxaca)

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

g3 <- ggplot(data=oaxaca1) +
  geom_line(aes(Fecha,oaxaca)) +
  xlab("Fecha") +
  ylab("Casos diarios") +
  ggtitle("B) Confirmados de COVID-19 en Oaxaca (Absolutos)"   ) +
  scale_y_continuous(labels=comma)

grid.arrange(g2,g3)

Medidas de posición central

  • Cálculo individual de las medidas principales de valores absolutos confirmados para Oaxaca (MMM)
mean(oaxaca) #media de Oaxaca (mean es para sacar la media)
## [1] 60.82857
median(oaxaca)
## [1] 24
mfv(oaxaca) #Moda (most frequent values) Valores mas frecuentes (para sacar moda) 
## [1] 0

Resumen estadístico

summary(oaxaca)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00   24.00   60.83  114.00  263.00

Gráfico de caja y bigote

boxplot(oaxaca)

Medidas de dispersión

plot(oaxaca)

  • Varianza
var(oaxaca) #distancia de los datos a la media
## [1] 4709.708
  • Desviación estándar
sd(oaxaca)
## [1] 68.62731

Tabla de distribuciones

dist2 <- fdt(oaxaca, breaks = "Sturges")
dist2
##       Class limits   f   rf rf(%)  cf  cf(%)
##        [0,29.5144) 128 0.52 52.24 128  52.24
##  [29.5144,59.0289)  10 0.04  4.08 138  56.33
##  [59.0289,88.5433)  27 0.11 11.02 165  67.35
##  [88.5433,118.058)  22 0.09  8.98 187  76.33
##  [118.058,147.572)  17 0.07  6.94 204  83.27
##  [147.572,177.087)  24 0.10  9.80 228  93.06
##  [177.087,206.601)  11 0.04  4.49 239  97.55
##  [206.601,236.116)   5 0.02  2.04 244  99.59
##   [236.116,265.63)   1 0.00  0.41 245 100.00

Histogramas y polígonos de frecuencia

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

plot(dist2, type = "cfh") #hist de frcuencias acumuladas 

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

#Polígonos
plot(dist2, type = "fp") #polígono de frecuencias

plot(dist2, type = "cfp") #polígono de frecuencias acumuladas

plot(dist2, type = "rfp") #polígono de frecuencias relativas

Chiapas

  • Gráfica combinada de datos acumulados y absolutos de Chiapas
chiapas1 <- data.frame(Fecha, chiapas, achiapas)

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

g3 <- ggplot(data=chiapas1) +
  geom_line(aes(Fecha,chiapas)) +
  xlab("Fecha") +
  ylab("Casos diarios") +
  ggtitle("B) Confirmados de COVID-19 en Chiapas (Absolutos)"   ) +
  scale_y_continuous(labels=comma)

grid.arrange(g2,g3)

Medidas de posición central

  • Cálculo individual de las medidas principales de valores absolutos confirmados para Oaxaca (MMM)
mean(chiapas) #media de Chiapas (mean es para sacar la media)
## [1] 26.04082
median(chiapas)
## [1] 10
mfv(chiapas) #Moda (most frequent values) Valores mas frecuentes (para sacar moda) 
## [1] 0

Resumen estadístico

summary(chiapas)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00   10.00   26.04   33.00  146.00

Gráfico de caja y bigote

boxplot(chiapas)

Medidas de dispersión

plot(chiapas)

  • Varianza
var(chiapas) #distancia de los datos a la media
## [1] 1327.375
  • Desviación estándar
sd(chiapas)
## [1] 36.43316

Tabla de distribuciones

dist3 <- fdt(chiapas, breaks = "Sturges")
dist3
##       Class limits   f   rf rf(%)  cf  cf(%)
##        [0,16.3844) 148 0.60 60.41 148  60.41
##  [16.3844,32.7689)  33 0.13 13.47 181  73.88
##  [32.7689,49.1533)  17 0.07  6.94 198  80.82
##  [49.1533,65.5378)   9 0.04  3.67 207  84.49
##  [65.5378,81.9222)   9 0.04  3.67 216  88.16
##  [81.9222,98.3067)  12 0.05  4.90 228  93.06
##  [98.3067,114.691)   7 0.03  2.86 235  95.92
##  [114.691,131.076)   4 0.02  1.63 239  97.55
##   [131.076,147.46)   6 0.02  2.45 245 100.00

Histogramas y polígonos de frecuencia

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

plot(dist3, type = "cfh") #hist de frcuencias acumuladas 

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

#Polígonos
plot(dist3, type = "fp") #polígono de frecuencias

plot(dist3, type = "cfp") #polígono de frecuencias acumuladas

plot(dist3, type = "rfp") #polígono de frecuencias relativas

Conclusión personal

Este fue un ejercicico fácil de realizar y comprender. Conocimos un nuevo paquete que nos ayuda a agilizar la activación y/o instalación de los paquetes que serán útiles en el ejercicio. Realizamos tablas que nos ayudan a comparar los datos acumulados y absolutos de confirmados de COVID-19 en diferentes estados de México. Se utilizarón estados vecinos para ver la diferencia que hay de los contagios en cada estados. Yo decidí utilizar el estado de Oaxaca para este ejercicio y lo comparé con su estado vecino Chiapas. Se puede observar que hay una gran diferencia en el número de confirmados de cada estado, esto se puede deber a que los habitantes de Oaxaca no sigan las medidas de seguridad o que no tengan muy buen sistema médico.