/
2020-06-03-fresas-y-covid-19-el-mismo-concepto-de-explorar.Rmd
103 lines (84 loc) · 5.63 KB
/
2020-06-03-fresas-y-covid-19-el-mismo-concepto-de-explorar.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
title: 'Fresas y COVID-19: El mismo concepto de explorar'
author: Zulemma Bazurto
date: '2020-06-07'
---
```{r message=FALSE, warning=FALSE, include=FALSE}
library(tidyverse)
library(ggplot2)
library(coronavirus)
```
```{r echo=FALSE, message=FALSE, warning=FALSE,fig.pos= "h",fig.align='center', out.width='80%'}
## Este código me permite:
## 1. Filtrar la base de datos original por Ecuador y Chile a partir del 29/02/20.
## 2. Ordenar los datos por fecha
## 3. Adicionar 5 variables (columnas) nuevas a la base de datos original: active, active_total, recovered_total, death_total, cum_cases.
## 4. Transformar la base, incrementando el número de columnas y disminuyendo el número de filas.
## 5. Graficar las distribuciones acumuladas de Chile y Ecuador por fecha.
coronavirus %>% select(date,country, type, cases) %>%
filter(country %in% c("Ecuador","Chile"),date >= "2020-02-29") %>%
group_by(type,country,date) %>%
summarise(total_cases = sum(cases)) %>%
pivot_wider(names_from = type, values_from = total_cases) %>% arrange(date) %>%
mutate(active = confirmed - death -recovered,
active_total = cumsum(active),
recovered_total = cumsum(recovered),
death_total = cumsum(death),
cum_cases = cumsum(confirmed),
n=seq(1:74)) %>%
ggplot(.,aes(x=n,y=cum_cases))+geom_line(aes(color=country))+
theme_minimal()+
labs(title="Casos acumulados: Ecuador vs. Chile", x = "n", y = "Número de casos",color="País") +
theme(plot.title = element_text(color="black", size=14, face="bold.italic"),panel.background = element_rect(fill = "white", colour = "#6D9EC1"))
```
```{r echo=FALSE, message=FALSE, warning=FALSE,fig.pos= "h",fig.align='center', out.width='80%'}
## Este código me permite:
## 1. Filtrar únicamente para Ecuador la base de datos original
## 2. Adicionar 5 variables (columnas) nuevas a la base de datos original.
## 2. Transformar la base, incrementando el número de columnas y disminuyendo el número de filas
corona_tidy_3<- coronavirus %>% select(date,country, type, cases) %>%
filter(country =="Ecuador",date >= "2020-02-29") %>%
group_by(type, date) %>%
summarise(total_cases = sum(cases)) %>%
pivot_wider(names_from = type, values_from = total_cases) %>%
arrange(date) %>%
mutate(active = confirmed - death - recovered) %>%
mutate(active_total = cumsum(active),
recovered_total = cumsum(recovered),
death_total = cumsum(death),
total_cases = cumsum(confirmed))
## Contando el número de filas de la base de datos y asignándola al objeto count_ec
count_ec<-nrow(corona_tidy_3)
## Adicionando una nueva columna denominada n y asignando al objeto corona_tidy_4
corona_tidy_4<-corona_tidy_3 %>% mutate(n = seq(1:count_ec))
## Filtrando el objeto corona_tidy_4 para días mayores a 1 y seleccionando las variables: date, n, confirmed, active_total que son con las que vamos a trabajar.
corona_contagio<-corona_tidy_4 %>% select(date,n,confirmed,active_total) %>%filter(n>1)
# En el día cero, donde no se reportan contagios, se asigna 1 para evitar posteriormente
# que la división entre confirmados (confirmed) y activos de Ecuador (act_ec) no quede indefinida (0/0)
corona_contagio[1,"act_ec"]<-1
## Corrigiendo en el objeto corona_contagio las posiciones donde se reportan casos confirmados (confirmed) en negativo y asignándoles cero dado que el recorrido de esa variable está en los Reales positivos.
corona_contagio[68,"confirmed"]<-0
corona_contagio[69,"confirmed"]<-0
corona_contagio[72,"confirmed"]<-0
## Creando las variables:
## act_ec que representa el desplazamiento de la base del tiempo de la variable casos activos (active_total) hacia atrás en una observación.
## Tasa de Contagio: tasa_contagio_ec
## Logaritmo de la tasa de contagio en base 10 : logs_ec
corona_rate<-corona_contagio %>% mutate(act_ec = lag(active_total),tasa_contagio_ec=confirmed/act_ec,logs_ec=log10(tasa_contagio_ec))
## Contando el número de filas del objeto corona_rate
conteo_zero<-nrow(corona_rate)
## Adicionando la variable n_zero que será usada como el conteo del número de días
## desde el primer contagio y seleccionando las variables de interés para el estudio
corona_rate_2<-corona_rate%>% mutate(n_zero=seq(1:conteo_zero)) %>% select(date,confirmed,active_total,n_zero,tasa_contagio_ec,act_ec,logs_ec)
## Adicionando la variable n_cero para ajustar la dimensión del objeto corona_rate_3 y ## seleccionando las variables de interés para el estudio
corona_rate_3<-corona_rate_2 %>% mutate(n_cero=(n_zero-1)) %>% select(date,confirmed,active_total,n_zero,tasa_contagio_ec,act_ec,n_cero,logs_ec)
## Graficando la tasa de contagios para Ecuador
corona_rate_3 %>% ggplot(.,aes(x=n_cero))+
geom_line(aes(y=tasa_contagio_ec),color="violet")+labs(title="Tasa de Contagios Ecuador", x = "n", y = "Tasa de contagio")+theme(plot.title = element_text(color="black", size=14, face="bold.italic"),panel.background = element_rect(fill = "white", colour = "#6D9EC1"))
```
```{r echo=FALSE, message=FALSE, warning=FALSE,fig.pos= "h",fig.align='center', out.width='80%'}
#Graficando el logaritmo (base 10) de la tasa de contagios para Ecuador
corona_rate_3 %>% ggplot(.,aes(x=n_cero))+
geom_line(aes(y=logs_ec),col="violet",lwd=0.5)+
labs(title="Logaritmo de la Tasa de Contagios Ecuador", x = "n", y = "Log Tasa de contagio")+theme(plot.title = element_text(color="black", size=14, face="bold.italic"),panel.background = element_rect(fill = "white", colour = "#6D9EC1"))
```