library(readr)
library(gganimate)
## Warning: package 'gganimate' was built under R version 3.6.3
## Loading required package: ggplot2
library(tidyverse)
## -- Attaching packages ---------------------------------------------------------------------------- tidyverse 1.3.0 --
## v tibble 2.1.3 v dplyr 0.8.3
## v tidyr 1.0.2 v stringr 1.4.0
## v purrr 0.3.3 v forcats 0.4.0
## -- Conflicts ------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(gifski)
## Warning: package 'gifski' was built under R version 3.6.3
library(plotly)
##
## 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
url_dec <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv"
url_con <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv"
url_recov <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv"
#datos conf,desc,recov
datos_conf <- read.csv(url_con)
datos_dec <- read.csv(url_dec)
datos_recov <- read.csv(url_recov)
#class(datos_conf)
dim(datos_conf)
## [1] 264 96
head(datos_conf)
## Province.State Country.Region Lat Long X1.22.20 X1.23.20
## 1 Afghanistan 33.0000 65.0000 0 0
## 2 Albania 41.1533 20.1683 0 0
## 3 Algeria 28.0339 1.6596 0 0
## 4 Andorra 42.5063 1.5218 0 0
## 5 Angola -11.2027 17.8739 0 0
## 6 Antigua and Barbuda 17.0608 -61.7964 0 0
## X1.24.20 X1.25.20 X1.26.20 X1.27.20 X1.28.20 X1.29.20 X1.30.20 X1.31.20
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## X2.1.20 X2.2.20 X2.3.20 X2.4.20 X2.5.20 X2.6.20 X2.7.20 X2.8.20 X2.9.20
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## X2.10.20 X2.11.20 X2.12.20 X2.13.20 X2.14.20 X2.15.20 X2.16.20 X2.17.20
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## X2.18.20 X2.19.20 X2.20.20 X2.21.20 X2.22.20 X2.23.20 X2.24.20 X2.25.20
## 1 0 0 0 0 0 0 1 1
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 1
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## X2.26.20 X2.27.20 X2.28.20 X2.29.20 X3.1.20 X3.2.20 X3.3.20 X3.4.20 X3.5.20
## 1 1 1 1 1 1 1 1 1 1
## 2 0 0 0 0 0 0 0 0 0
## 3 1 1 1 1 1 3 5 12 12
## 4 0 0 0 0 0 1 1 1 1
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## X3.6.20 X3.7.20 X3.8.20 X3.9.20 X3.10.20 X3.11.20 X3.12.20 X3.13.20 X3.14.20
## 1 1 1 4 4 5 7 7 7 11
## 2 0 0 0 2 10 12 23 33 38
## 3 17 17 19 20 20 20 24 26 37
## 4 1 1 1 1 1 1 1 1 1
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 1 1
## X3.15.20 X3.16.20 X3.17.20 X3.18.20 X3.19.20 X3.20.20 X3.21.20 X3.22.20
## 1 16 21 22 22 22 24 24 40
## 2 42 51 55 59 64 70 76 89
## 3 48 54 60 74 87 90 139 201
## 4 1 2 39 39 53 75 88 113
## 5 0 0 0 0 0 1 2 2
## 6 1 1 1 1 1 1 1 1
## X3.23.20 X3.24.20 X3.25.20 X3.26.20 X3.27.20 X3.28.20 X3.29.20 X3.30.20
## 1 40 74 84 94 110 110 120 170
## 2 104 123 146 174 186 197 212 223
## 3 230 264 302 367 409 454 511 584
## 4 133 164 188 224 267 308 334 370
## 5 3 3 3 4 4 5 7 7
## 6 3 3 3 7 7 7 7 7
## X3.31.20 X4.1.20 X4.2.20 X4.3.20 X4.4.20 X4.5.20 X4.6.20 X4.7.20 X4.8.20
## 1 174 237 273 281 299 349 367 423 444
## 2 243 259 277 304 333 361 377 383 400
## 3 716 847 986 1171 1251 1320 1423 1468 1572
## 4 376 390 428 439 466 501 525 545 564
## 5 7 8 8 8 10 14 16 17 19
## 6 7 7 9 15 15 15 15 19 19
## X4.9.20 X4.10.20 X4.11.20 X4.12.20 X4.13.20 X4.14.20 X4.15.20 X4.16.20
## 1 484 521 555 607 665 714 784 840
## 2 409 416 433 446 467 475 494 518
## 3 1666 1761 1825 1914 1983 2070 2160 2268
## 4 583 601 601 638 646 659 673 673
## 5 19 19 19 19 19 19 19 19
## 6 19 19 21 21 23 23 23 23
## X4.17.20 X4.18.20 X4.19.20 X4.20.20 X4.21.20 X4.22.20
## 1 906 933 996 1026 1092 1176
## 2 539 548 562 584 609 634
## 3 2418 2534 2629 2718 2811 2910
## 4 696 704 713 717 717 723
## 5 19 24 24 24 24 25
## 6 23 23 23 23 23 24
names(datos_conf)
## [1] "Province.State" "Country.Region" "Lat" "Long"
## [5] "X1.22.20" "X1.23.20" "X1.24.20" "X1.25.20"
## [9] "X1.26.20" "X1.27.20" "X1.28.20" "X1.29.20"
## [13] "X1.30.20" "X1.31.20" "X2.1.20" "X2.2.20"
## [17] "X2.3.20" "X2.4.20" "X2.5.20" "X2.6.20"
## [21] "X2.7.20" "X2.8.20" "X2.9.20" "X2.10.20"
## [25] "X2.11.20" "X2.12.20" "X2.13.20" "X2.14.20"
## [29] "X2.15.20" "X2.16.20" "X2.17.20" "X2.18.20"
## [33] "X2.19.20" "X2.20.20" "X2.21.20" "X2.22.20"
## [37] "X2.23.20" "X2.24.20" "X2.25.20" "X2.26.20"
## [41] "X2.27.20" "X2.28.20" "X2.29.20" "X3.1.20"
## [45] "X3.2.20" "X3.3.20" "X3.4.20" "X3.5.20"
## [49] "X3.6.20" "X3.7.20" "X3.8.20" "X3.9.20"
## [53] "X3.10.20" "X3.11.20" "X3.12.20" "X3.13.20"
## [57] "X3.14.20" "X3.15.20" "X3.16.20" "X3.17.20"
## [61] "X3.18.20" "X3.19.20" "X3.20.20" "X3.21.20"
## [65] "X3.22.20" "X3.23.20" "X3.24.20" "X3.25.20"
## [69] "X3.26.20" "X3.27.20" "X3.28.20" "X3.29.20"
## [73] "X3.30.20" "X3.31.20" "X4.1.20" "X4.2.20"
## [77] "X4.3.20" "X4.4.20" "X4.5.20" "X4.6.20"
## [81] "X4.7.20" "X4.8.20" "X4.9.20" "X4.10.20"
## [85] "X4.11.20" "X4.12.20" "X4.13.20" "X4.14.20"
## [89] "X4.15.20" "X4.16.20" "X4.17.20" "X4.18.20"
## [93] "X4.19.20" "X4.20.20" "X4.21.20" "X4.22.20"
#Italy
conf_ital <- t(datos_conf[datos_conf$Country.Region=="Italy",])
dec_italy <- t(datos_dec[datos_dec$Country.Region=="Italy",])
rec_ital <- t(datos_recov[datos_recov$Country.Region=="Italy",])
#grafica ez
plot(conf_ital)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

#vector fecha
Fecha = seq(from = as.Date("2020-01-22"), to = as.Date("2020-04-22"), by = 'day')
#Casos confirmados
vec1 <- as.vector(conf_ital)
vec2 <-vec1[5:96]
num1 <- as.numeric(vec2)
Confirmados <- as.vector(num1)
#decesos
vec1 <- as.vector(dec_italy)
vec2 <-vec1[5:96]
num1 <- as.numeric(vec2)
Decesos <- as.vector(num1)
#recuperados
vec1 <- as.vector(rec_ital)
vec2 <-vec1[5:96]
num1 <- as.numeric(vec2)
Recuperados <- as.vector(num1)
#generacion de un data frame
datos1 <- data.frame(Fecha, Confirmados, Decesos, Recuperados)
#Figura 2 Confirmados ggplot
ggplot(data = datos1) +
geom_line(mapping = aes(x = Fecha, y = Confirmados))

#Figura 3 Decesos ggplot
ggplot(data = datos1) +
geom_line(mapping = aes(x = Fecha, y = Decesos))

#Figura 4 Recuperados ggplot
ggplot(data = datos1) +
geom_line(mapping = aes(x = Fecha, y = Recuperados))

#animacion 1 simple
ggplot(data = datos1) +
ggtitle("Casos confirmados COVID-19 en Italia (Fuente: JHU CSSE) ")+
geom_line(mapping = aes(x = Fecha, y = Confirmados))+
transition_reveal(Fecha)

#Figura 5 multi ejes ggplot
ggplot(data=datos1) +
geom_line(aes(x=Fecha,y=Confirmados),color='red') +
geom_point(aes(x=Fecha,y=Decesos),color='blue') +
geom_line(aes(x=Fecha,y=Recuperados),color='green')+
ylab('COVID-19 Italia') + xlab('Fecha')

#animacion 2
ggplot(data=datos1) +
geom_line(aes(x=Fecha,y=Confirmados),colour='red') +
geom_jitter(aes(x=Fecha,y=Decesos),colour='blue') +
geom_line(aes(x=Fecha,y=Recuperados),colour="green")+
ylab('COVID-19 Italia') + xlab('Fecha') +
transition_reveal(Fecha)

#Grafica interactiva compuesta
gcov <-ggplot(data=datos1) +
geom_line(aes(x=Fecha,y=Confirmados),colour='red') +
geom_point(aes(x=Fecha,y=Decesos),colour='blue') +
geom_line(aes(x=Fecha,y=Recuperados),colour="green")+
ylab('COVID-19 Italia') + xlab('Fecha') +
transition_reveal(Fecha)
ggplotly(gcov)