library(COVID19)

VARIABLES CUANTITATIVAS

Gráfico de líneas

library(ggplot2)

#grafico de linea para confirmados

ggplot(data,aes(x=date,y=confirmed))+geom_line(lwd=1.2,lty=1,colour="sienna4",pch=1)+ggtitle("Fecha vs Confirmados ")+xlab("FECHA")+ylab("CONFIRMADOS")

plot.new()
set.seed(1)

#boxplot confirmados

boxplot(data$confirmed,horizontal = T,lwd=2,col =rgb(0.4, 0, 0, alpha =0.9) ,border = c("chocolate1"),ylab="FECHA",xlab="CONFIRMADOS",main= "Fecha vs Confirmados",notch =F,outpch=21,outbg="coral",whiskcol="navyblue",whisklty=2,lty=1)
#agregamos una leyenda

legend("topright", legend = "Confirmados",fill = rgb(0.4, 0, 0, alpha =0.9),inset =c(0.03, 0.05),bg = "white")

library(moments)

#medidas estadisticas - confirmados
#usamos na.rm=T para que excluya a los NA ya que si no lo hacemos retornara NA

summary(data$confirmed)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##       1  183122  249121  416392  566326 1617355      10
median(data$confirmed,na.rm = T)
## [1] 249120.5
mean(data$confirmed,na.rm = T)
## [1] 416391.9
sd(data$confirmed,na.rm = T)
## [1] 420171.7
kurtosis(data$confirmed,na.rm = T)
## [1] 3.891796
skewness(data$confirmed,na.rm = T)
## [1] 1.350939
#tabla de datos agrupados - confirmados 

library(fdth)
tablaConfirmados<-fdt(data$confirmed,breaks = "Sturges")
tablaConfirmados
##               Class limits   f   rf rf(%)  cf  cf(%)
##          [0.99,163353.746)  71 0.24 23.67  71  23.67
##    [163353.746,326706.502) 122 0.41 40.67 193  64.33
##    [326706.502,490059.258)  23 0.08  7.67 216  72.00
##    [490059.258,653412.014)  17 0.06  5.67 233  77.67
##     [653412.014,816764.77)  15 0.05  5.00 248  82.67
##     [816764.77,980117.526)  14 0.05  4.67 262  87.33
##   [980117.526,1143470.282)   9 0.03  3.00 271  90.33
##  [1143470.282,1306823.038)   8 0.03  2.67 279  93.00
##  [1306823.038,1470175.794)  10 0.03  3.33 289  96.33
##   [1470175.794,1633528.55)  11 0.04  3.67 300 100.00
#grafico de linea - muertes

ggplot(data,aes(x=date,y=deaths))+geom_line(lwd=1.2,lty=1,colour="darkmagenta",pch=1)+ggtitle("Fecha vs Fallecidos")+xlab("FECHA")+ylab("FALLECIDOS")

#boxplot muertes


boxplot(data$deaths,horizontal = T,lwd=2,col =rgb(1, 1, 1, alpha =0.9) ,border = c("blueviolet"),ylab="FECHA",xlab="MUERTES",main= "Fecha vs Muertes",notch =F,outbg="coral2",whiskcol="navyblue",whisklty=2,lty=1)
#agregamos una leyenda

legend("topright", legend = "Muertes",fill = rgb(0.4, 0, 0.6, alpha =0.9),inset =c(0.03, 0.05),bg = "white")

#medidas estadisticas - muertes

summary(data$deaths)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##       1   26478   28420   26186   30495   44374      41
median(data$deaths,na.rm = T)
## [1] 28420
mean(data$deaths,na.rm = T)
## [1] 26185.8
sd(data$deaths,na.rm = T)
## [1] 10235.42
kurtosis(data$deaths,na.rm = T)
## [1] 4.274984
skewness(data$deaths,na.rm = T)
## [1] -1.251539
#tabla de datos agrupados - muertes 

tablaMuertes<-fdt(data$deaths,breaks = "Sturges")
tablaMuertes
##          Class limits   f   rf rf(%)  cf  cf(%)
##       [0.99,4482.665)  24 0.09  8.92  24   8.92
##    [4482.665,8964.34)   5 0.02  1.86  29  10.78
##   [8964.34,13446.015)   6 0.02  2.23  35  13.01
##  [13446.015,17927.69)   7 0.03  2.60  42  15.61
##  [17927.69,22409.365)  10 0.04  3.72  52  19.33
##  [22409.365,26891.04)  19 0.07  7.06  71  26.39
##  [26891.04,31372.715) 138 0.51 51.30 209  77.70
##  [31372.715,35854.39)  32 0.12 11.90 241  89.59
##  [35854.39,40336.065)  13 0.05  4.83 254  94.42
##  [40336.065,44817.74)  15 0.06  5.58 269 100.00
#grafico de linea - recuperados

ggplot(data,aes(x=date,y=recovered))+geom_line(lwd=1.2,lty=1,colour="green",pch=1)+ggtitle("Fecha vs Recuperados")+xlab("FECHA")+ylab("RECUPERADOS")

#boxplot recuperados

boxplot(data$recovered,horizontal = T,lwd=2,col =rgb(0, 1, 0.2, alpha =0.9) ,border = c("black"),ylab="FECHA",xlab="RECUPERADOS",main= "Fecha vs Recuperados",notch =F,outpch=21,outbg="coral",whiskcol="navyblue",whisklty=2,lty=1)
#agregamos una leyenda

legend("topright", legend = "Recuperados",fill = rgb(0, 1, 0.2, alpha =0.9),inset =c(0.03, 0.05),bg = "white")

# medidas estadisticas - recuperados

summary(data$recovered)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##       2   98998  150376  116921  150376  150376      24
median(data$recovered,na.rm = T)
## [1] 150376
mean(data$recovered,na.rm = T)
## [1] 116921.2
sd(data$recovered,na.rm = T)
## [1] 56694.23
kurtosis(data$recovered,na.rm = T)
## [1] 2.977236
skewness(data$recovered,na.rm = T)
## [1] -1.320792
#tabla de datos agrupados - recuperados 

tablaRecuperados<-fdt(data$confirmed,breaks = "Sturges")
tablaRecuperados
##               Class limits   f   rf rf(%)  cf  cf(%)
##          [0.99,163353.746)  71 0.24 23.67  71  23.67
##    [163353.746,326706.502) 122 0.41 40.67 193  64.33
##    [326706.502,490059.258)  23 0.08  7.67 216  72.00
##    [490059.258,653412.014)  17 0.06  5.67 233  77.67
##     [653412.014,816764.77)  15 0.05  5.00 248  82.67
##     [816764.77,980117.526)  14 0.05  4.67 262  87.33
##   [980117.526,1143470.282)   9 0.03  3.00 271  90.33
##  [1143470.282,1306823.038)   8 0.03  2.67 279  93.00
##  [1306823.038,1470175.794)  10 0.03  3.33 289  96.33
##   [1470175.794,1633528.55)  11 0.04  3.67 300 100.00
#grafico de linea - pruebas
ggplot(data,aes(x=date,y=tests))+geom_line(lwd=1.2,lty=1.4)+ggtitle("Fecha vs Pruebas")+xlab("FECHA")+ylab("PRUEBAS")+geom_point(size=1.2,shape=21,fill="deeppink")

#boxplot test
boxplot(data$tests,horizontal = T,lwd=2,col =rgb(1, 0, 0, alpha = 0.4) ,border = c("black"),ylab="FECHA",xlab="PRUEBAS REALIZADAS",main= "Fecha vs Pruebas",notch = F,outpch=25,outbg="green",whiskcol="navyblue",whisklty=2,lty=1)
#agregamos una leyenda

legend("topright", legend = "Test",fill = rgb(1, 0, 0, alpha = 0.4),inset =c(0.03, 0.05),bg = "white")

# medidas estadisticas - pruebas

summary(data$tests)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
##   930230  3002024  4818214  6504198  9534508 17249511      278
median(data$tests,na.rm = T)
## [1] 4818214
mean(data$tests,na.rm = T)
## [1] 6504198
sd(data$tests,na.rm = T)
## [1] 4732402
kurtosis(data$tests,na.rm = T)
## [1] 2.537951
skewness(data$tests,na.rm = T)
## [1] 0.8258201
#tabla de datos agrupados - pruebas 

tablaTests<-fdt(data$tests,breaks = "Sturges")
tablaTests
##                Class limits  f   rf rf(%) cf  cf(%)
##      [920927.7,3671107.435) 12 0.38 37.50 12  37.50
##    [3671107.435,6421287.17)  8 0.25 25.00 20  62.50
##    [6421287.17,9171466.905)  3 0.09  9.38 23  71.88
##   [9171466.905,11921646.64)  4 0.12 12.50 27  84.38
##  [11921646.64,14671826.375)  2 0.06  6.25 29  90.62
##  [14671826.375,17422006.11)  3 0.09  9.38 32 100.00

2. bivariante o multivariante

PARA las VARIABLES CUAliTITATIVAS

diagramas de barras

#instalamos lubridate para cambiar de la fecha (yyy-mm-dd) a mes

#library(lubridate)

#month()extrae los meses de date y los convierte en cadena de caracteres
#x=(month(data$date,label = T,abbr = F))
#m=data.matrix(x)
#barplot(m)
#mes=data.frame(x,y) #creacion de dataframe para meses
#convertimos de dataframe a matriz para que puede estar en lso datos y poder graficar cualitativa vs cuantitativa

#Cruce de variables cualitativa vs cada cuantitativa
#Un ejemplo con datos Iris
#datos$tests.mes=x=(month(data$date,label = T,abbr = F))
#boxplot(iris$Sepal.Length~iris$Species)
#boxplot(datos$confirmed~datos$tests.mes)

para las variables cuantitativas

matriz de correlacion y covarianza

#tabla de datos agrupados - pruebas 
#matriz de correlacion de confirmados

datos=data
#reemplazamos los NA por a media para que no se pierda los datos

datos$confirmed.mean=ifelse(is.na(datos$confirmed),mean(datos$confirmed,na.rm = T),datos$confirmed)

datos$deaths.mean=ifelse(is.na(datos$deaths),mean(datos$deaths,na.rm = T),datos$deaths)

datos$recovered.mean=ifelse(is.na(datos$recovered),mean(datos$recovered,na.rm = T),datos$recovered)

datos$tests.mean=ifelse(is.na(datos$tests),mean(datos$tests,na.rm = T),datos$tests)
#matriz de correlacion
cor(datos[,c(36,37,38,39)])
##                confirmed.mean deaths.mean recovered.mean tests.mean
## confirmed.mean      1.0000000   0.7043491     0.51832901 0.30012793
## deaths.mean         0.7043491   1.0000000     0.78978739 0.15080622
## recovered.mean      0.5183290   0.7897874     1.00000000 0.04552012
## tests.mean          0.3001279   0.1508062     0.04552012 1.00000000
#matriz de covarianzas
cov(datos[,c(36,37,38,39)])
##                confirmed.mean deaths.mean recovered.mean   tests.mean
## confirmed.mean   170830871291  2775011964    11664624481 1.859400e+11
## deaths.mean        2775011964    90863074      409907603 2.154747e+09
## recovered.mean    11664624481   409907603     2964586529 3.715085e+09
## tests.mean       185940002887  2154746624     3715084728 2.246811e+12

##grafica matriz de correlacion

library(corrplot)
#Matriz de correlacion GRAFICA 
#instalamos corrplot para grafica matriz de correlacion
#install.packages("corrplot")
matrizcorre=cor(datos[,c(36,37,38,39)])
corrplot.mixed(cor(matrizcorre),lower = "circle",upper = "number")

#Matriz de graficos de dispersion

plot(datos[,c(36,37,38,39)]) # matriz de diagramas de dispersión