setwd("~/PyE")
#analizar series de tiempo acumuladas de datos 
#de covid-19 en mexico utilizando el repositorio de JHU

#bibliotecas
library(readr)
library(tidyverse)
## -- Attaching packages ------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.1     v dplyr   1.0.0
## v tibble  3.0.1     v stringr 1.4.0
## v tidyr   1.1.0     v forcats 0.5.0
## v purrr   0.3.4
## -- Conflicts ---------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
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
library(gganimate)
library(gifski)

#declaracion de variables
url_conf <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv"
url_decesos <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv"
url_recuperados <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv"

#leer los archivos csv de las url
datos_conf <- read.csv(url_conf)
datos_decesos <- read.csv(url_decesos)
datos_recuperados <- read.csv(url_recuperados)

#filtrar datos para mexico
conf_mex <- t(datos_conf[datos_conf$Country.Region== "Mexico" ,])
dec_mex <- t(datos_decesos[datos_decesos$Country.Region== "Mexico" , ])
rec_mex <- t(datos_recuperados[datos_recuperados$Country.Region== "Mexico" ,])

#primer figura acumulada
plot(conf_mex)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

#para crear un vector de fecha con formato: Dia-mes-año

Fecha <- seq(from = as.Date("2020-01-22"), to = as.Date("2020-06-08"), by="day")

#formatear datos confirmados
vec1 <- as.vector(conf_mex) #transformar de formato matriz a vector de caracteres
vec2 <- vec1[5:143] #filtrar datos en un rango
num1 <- as.numeric(vec2)#transformar a numericos
Confirmados <- as.vector(num1) #vector numerico

#formatear datos de decesos
vec1 <- as.vector(dec_mex) #transformar de formato matriz a vector de caracteres
vec2 <- vec1[5:143] #filtrar datos en un rango
num1 <- as.numeric(vec2)#transformar a numericos
Decesos <- as.vector(num1) #vector numerico

#formatear datos de recuperados
vec1 <- as.vector(rec_mex) #transformar de formato matriz a vector de caracteres
vec2 <- vec1[5:143] #filtrar datos en un rango
num1 <- as.numeric(vec2)#transformar a numericos
Recuperados <- as.vector(num1) #vector numerico

#para construir un marco de datos
datos1<- data.frame(Fecha, Confirmados, Decesos, Recuperados)
view(datos1)

#figura 2 de casos confirmados en mexico 
#utilizando ggplot
ggplot(data=datos1) +
  geom_line(mapping = aes(x= Fecha, y= Confirmados))

#figura 3 de decesos confirmados en mexico
#utilizando ggplot
ggplot(data=datos1) +
  geom_line(mapping = aes(x= Fecha, y= Decesos))

#figura 4 de recuperados confirmados en mexico
#utilizando ggplot
ggplot(data=datos1) +
  geom_line(mapping = aes(x= Fecha, y= Recuperados))

#animacion simple
ggplot(data = datos1)+
  ggtitle("Casos confirmados acumulados COVID-19 en Mexico")+
  geom_line (mapping = aes(x=Fecha, y=Confirmados))+
  transition_reveal(Fecha)

#figura 5 multi ejes
ggplot(data = datos1)+
  geom_line(aes(x= Fecha, y=Confirmados), color='purple')+
  geom_line(aes(x= Fecha, y=Decesos), color='blue')+
  geom_line(aes(x= Fecha, y=Recuperados), color='red')+
  ylab("COVID-19 Mexico") + xlab("Fecha")+
  transition_reveal(Fecha)

#grafica interactiva
gcov <- ggplot(data = datos1)+
  geom_line(aes(x= Fecha, y=Confirmados), color='purple')+
  geom_line(aes(x= Fecha, y=Decesos), color='blue')+
  geom_line(aes(x= Fecha, y=Recuperados), color='red')+
  ylab("COVID-19 Mexico") + xlab("Fecha")

ggplotly(gcov)