-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_shinny.R
99 lines (75 loc) · 2.74 KB
/
test_shinny.R
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
# Prueba de gráficas y calculos
# Aqui se probarán los gráficos y tablas para la app de shiny antes de enviarlas
# a la aplicación.
# Setup -------------------------------------------------------------------
# setea el sistema en español
Sys.setlocale(category = "LC_ALL", locale = "es_ES.UTF-8")
# Librerias
library(shiny)
library(tidyverse)
library(lubridate)
library(janitor)
library(plotly)
# aumento memoría
memory.limit(size = 250000) # Solo windows
memory.size() # Solo Windows
# Funciones
source("funciones.R")
# Carga de Data
positivos <- fst::read_fst("data/positivos.fst")
fallecidos <- fst::read_fst("data/fallecidos.fst")
vacunacion <- fst::read_fst("data/vacunacion.fst")
# Valores -----------------------------------------------------------------
fecha_positivos <- last(sort(positivos$fecha_resultado))
fecha_fallecidos <- last(sort(fallecidos$fecha_fallecimiento))
fecha_vacunacion <- last(sort(vacunacion$fecha_vacunacion))
total_positivos <- sum(positivos$n)
total_fallecidos <- sum(fallecidos$n)
total_vacunas <- sum(vacunacion$n)
# Generación de tablas ----------------------------------------------------
# Numero de positivos por día
tabla_positivos <- positivos %>%
group_by(fecha_resultado) %>%
summarise(n = sum(n))
# Número de fallecidos por día
tabla_fallecidos <- fallecidos %>%
group_by(fecha_fallecimiento) %>%
summarise(n = sum(n))
# Total de vacunaciones según dosis
tabla_dosis <- vacunacion %>%
group_by(dosis) %>%
summarise(n = sum(n)) %>%
adorn_totals()
# Tabla de vacunaciones por día, dosis y acumuladas
tabla_vacunaciones <- vacunacion %>%
pivot_wider(
id_cols = fecha_vacunacion,
values_from = n,
names_from = dosis,
names_prefix = "dosis_",
values_fn = sum,
values_fill = 0
) %>%
arrange(fecha_vacunacion) %>%
mutate(total = dosis_1 + dosis_2) %>%
mutate(
dosis_1_cum = cumsum(dosis_1),
dosis_2_cum = cumsum(dosis_2),
total_cum = cumsum(total)
) %>%
pivot_longer(cols = -fecha_vacunacion) %>%
filter(str_detect(name, "cum"))
# Gráficos ----------------------------------------------------------------
# Gráfica de positivos diarios
graph_positivos <- plot.diarios(tabla_positivos, fecha_resultado, n) +
labs(title = "Casos diarios detectados")
plotly::ggplotly(graph_positivos)
# Gráfica de fallecidos diarios
graph_fallecidos <- plot.diarios(tabla_fallecidos, fecha_fallecimiento, n) +
labs(title = "Fallecimientos diarios")
plotly::ggplotly(graph_fallecidos)
# Grafica de vacunaciones acumuladas
graph_vacunacion <- plot.vacunaciones(tabla_vacunaciones, fecha_vacunacion, value, name) +
labs(title = "Progreso de las vacunaciones") +
scale_color_discrete(labels = c("Primera dosis", "Segunda dosis", "Total"))
plotly::ggplotly(graph_vacunacion)