@@ -8,24 +8,16 @@ library(shinydashboard)
8
8
9
9
source(paste0(getwd(), " /model/generate_data.R" ))
10
10
11
- # Confirmados ----
12
11
13
- url_confirmados <- " https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv "
12
+ # # John Hopkins data ----
14
13
15
- cvirus_confirmed <- read_csv(url_confirmados )
14
+ cvirus_confirmed <- read_csv(" https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv " )
16
15
16
+ cvirus_recovered <- read_csv(" https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Recovered.csv" )
17
17
18
+ cvirus_death <- read_csv(" https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Deaths.csv" )
18
19
19
- # Recuperados
20
-
21
- url_recovered <- " https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Recovered.csv"
22
-
23
- cvirus_recovered <- read_csv(url_recovered )
24
-
25
- # cvirus$`Province/State`<- NULL
26
-
27
-
28
- # Pasamos a formato largo ----
20
+ # Pasamos a formato largo
29
21
30
22
cvirus_confirmed_longer <- cvirus_confirmed %> %
31
23
pivot_longer(
@@ -39,27 +31,38 @@ cvirus_recovered_longer <- cvirus_recovered %>%
39
31
values_to = " recuperados"
40
32
)
41
33
34
+ cvirus_death_longer <- cvirus_death %> %
35
+ pivot_longer(
36
+ cols = 5 : ncol(cvirus_death ),
37
+ values_to = " fallecidos"
38
+ )
39
+
40
+
41
+
42
42
cvirus_longer <- cvirus_confirmed_longer %> %
43
43
left_join(
44
44
cvirus_recovered_longer ,
45
45
by = c(" Province/State" , " Country/Region" , " Lat" , " Long" , " name" )
46
+ ) %> %
47
+ left_join(
48
+ cvirus_death_longer ,
49
+ by = c(" Province/State" , " Country/Region" , " Lat" , " Long" , " name" )
46
50
)
47
51
48
52
49
53
50
- colnames(cvirus_longer ) <- c(" provincia_estado" ," pais" , " Lat" , " Long" , " fecha" , " casos" , " recuperados" )
54
+ colnames(cvirus_longer ) <- c(" provincia_estado" ," pais" , " Lat" , " Long" , " fecha" , " casos" , " recuperados" , " fallecidos " )
51
55
52
56
cvirus_longer $ fecha <- as.Date(as.character(cvirus_longer $ fecha ), format = " %m/%d/%y" )
53
57
54
58
cvirus_longer <- cvirus_longer %> %
55
59
mutate(provincia_estado = if_else(is.na(provincia_estado ), pais , provincia_estado )) %> %
56
60
filter(casos > 0 )
57
61
58
- # mapa con el último dato -----
59
62
60
- # mapa con el último dato -----
61
- # # sub graphs
63
+ # mapa con el último dato
62
64
65
+ # # TODO Create interaactive with days since filter(casos >= input$ncasos)
63
66
res <- cvirus_longer %> %
64
67
# filter(provincia_estado!= "Diamond Princess") %>%
65
68
group_by(pais , fecha ) %> %
@@ -68,38 +71,44 @@ res <- cvirus_longer %>%
68
71
summarise(
69
72
casos = sum(casos ),
70
73
recuperados = sum(recuperados ),
74
+ fallecidos = sum(fallecidos ),
71
75
Lat = first(Lat ),
72
76
Long = first(Long )
73
77
) %> %
74
78
mutate(
75
79
casos_prev_day = lag(casos , n = 1 , default = 0 ),
76
80
casos_nuevos = casos - casos_prev_day ,
77
81
recuperados_prev_day = lag(recuperados , n = 1 , default = 0 ),
78
- recuperados_nuevos = recuperados - recuperados_prev_day
82
+ recuperados_nuevos = recuperados - recuperados_prev_day ,
83
+ fallecidos_prev_day = lag(fallecidos , n = 1 , default = 0 ),
84
+ fallecidos_nuevos = fallecidos - fallecidos_prev_day ,
85
+
79
86
) %> %
80
- filter(casos > = 5 ) %> %
87
+ filter(casos > = 100 ) %> %
81
88
mutate(
82
89
casos_nuevos = if_else(casos_nuevos == 0 ,
83
90
lag(casos_nuevos , 1 ),
84
91
casos_nuevos ),
85
- dia_since_5 = row_number()
92
+ dia_since_100 = row_number()
86
93
)
87
94
88
95
89
-
90
96
cvirus_map_data <- res %> %
91
97
group_by(pais ) %> %
92
98
filter(fecha == max(fecha )) %> %
93
99
mutate(casos = sum(casos ),
94
- recuperados = sum(recuperados )) %> %
100
+ recuperados = sum(recuperados ),
101
+ fallecidos = sum(fallecidos )) %> %
95
102
ungroup()
96
103
104
+ # # TODO try to change to highcharter and conver to interactive shiny
105
+
97
106
98
107
p_subs <- map(cvirus_map_data $ pais , function (pais_select ) {
99
108
df <- res %> %
100
109
filter(pais == pais_select )
101
110
p <- df %> %
102
- ggplot( aes(x = dia_since_5 , y = casos_nuevos , group = 1 ))
111
+ ggplot( aes(x = dia_since_100 , y = casos_nuevos , group = 1 ))
103
112
p +
104
113
geom_point(size = rel(1.5 )) +
105
114
geom_line() +
0 commit comments