library(COVID19)
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
#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)
#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