setwd("~/PyE")
#analizar series de tiempo acumuladas de datos
#de covid-19 en C0lombia 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) #de este url se estan tomando los casos confirmados y se guardan en una variable nueva
datos_decesos <- read.csv(url_decesos) #de este url se estan tomando el numero de decesos y se guardan en una variable nueva
datos_recuperados <- read.csv(url_recuperados)#de este url se estan tomando el numero de recuperados y se guardan en una variable nueva
#filtrar datos para Colombia
conf_col <- t(datos_conf[datos_conf$Country.Region== "Colombia" ,]) #de los datos confirmados, decesos, y recuperados mundialmente se filtran los que se encuentran en Country.Region con el nombre de "Colombia
dec_col <- t(datos_decesos[datos_decesos$Country.Region== "Colombia" , ])#se declaran en una nueva variable, y tambien se cambia el formato.
rec_col <- t(datos_recuperados[datos_recuperados$Country.Region== "Colombia" ,])#En vez de ser horizontal ahora es vertical.
#primer figura acumulada
plot(conf_col) #se crea una grafica de puntos con los datos confirmados de Colombia
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción

#pero esta carece de gramatica, no son legibles los datos, aunque se alcanza a apreciar que no han aplanado la curva
#para crear un vector de fecha con formato: Dia-mes-año
#se toman los datos desde el 22 de enero hasta la fecha mas reciente, 8 de junio.
Fecha <- seq(from = as.Date("2020-01-22"), to = as.Date("2020-06-08"), by="day")
#formatear datos confirmados
vec1 <- as.vector(conf_col) #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_col) #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_col) #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, es decir un conjunto de datos distintos
datos1<- data.frame(Fecha, Confirmados, Decesos, Recuperados) #las variables que se incluyen en el dataframe
view(datos1)
#figura 2 de casos confirmados en Colombia
#utilizando ggplot
ggplot(data=datos1) + #se toman los datos que se encuentran en la variable datos1
geom_line(mapping = aes(x= Fecha, y= Confirmados))#en el eje de las x se toma la variable "Fecha", en las y "Confirmados"

#Se puede observar que los casos en Colombia siguen creciendo de manera exponencial
#figura 3 de decesos confirmados en Colombia
#utilizando ggplot
ggplot(data=datos1) +#se toman los datos que se encuentran en la variable datos1
geom_line(mapping = aes(x= Fecha, y= Decesos))#en el eje de las x se toma la variable "Fecha", en las y "Decesos"

#Se puede observar que los decesos han sido muy pocos a comparacion de los datos confirmados
#figura 4 de casos recuperados en Colombia
#utilizando ggplot
ggplot(data=datos1) +#se toman los datos que se encuentran en la variable datos1
geom_line(mapping = aes(x= Fecha, y= Recuperados))#en el eje de las x se toma la variable "Fecha", en las y "Recuperados"

#Se observa que no hay tantos datos de de personas recuperadas, es decir, de mas de 40 mil confirmados,
#ha habido menos de 2mil decesos confirmados, y menos de 17mil recuperados
#animacion simple
ggplot(data = datos1)+
ggtitle("Casos confirmados acumulados COVID-19 en Colombia")+
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='red')+
geom_line(aes(x= Fecha, y=Decesos), color='black')+
geom_line(aes(x= Fecha, y=Recuperados), color='blue')+
ylab("COVID-19 Colombia") + xlab("Fecha")+
transition_reveal(Fecha)

#grafica interactiva
gcov <- ggplot(data = datos1)+
geom_line(aes(x= Fecha, y=Confirmados), color='red')+
geom_line(aes(x= Fecha, y=Decesos), color='black')+
geom_line(aes(x= Fecha, y=Recuperados), color='blue')+
ylab("COVID-19 Colombia") + xlab("Fecha")
ggplotly(gcov)
#Al observar los casos, decesos y recuperaciones de Colombia frente al COVID-19 dos cosas se me hicieron bastante interesantes,
#primero, hubo una fecha, entre el 5 y 6 de junio, que no hubo nuevos para ninguna de las categorias. Lo otro, si se suman los decesos y recuperados,
#actualmente hay menos de 18mil casos, y confirmados hay casi 41mil, es decir, casi la mitad de los casos confirmados siguen enfermos,
#es decir, por lo que puedo observar, colombia esta lejos de aplanar la curva.