library(rstan)
library(bayesplot)
library(kableExtra)
library(tidyverse)
# Consulta ####
consultas_resultados <- tribble(~fecha,~encuestadora,~consulta,~candidato,~int_voto,~votos,
# Pacto Historico
"2022-03-15","Resultado","Pacto Historico","Gustavo Petro",80.51,4446970,
"2022-03-15","Resultado","Pacto Historico","Francia Marquez",14.04,775732,
"2022-03-15","Resultado","Pacto Historico","Camilo Romero",4.07,225224,
"2022-03-15","Resultado","Pacto Historico","Arelis Uriana",0.97,53843,
"2022-03-15","Resultado","Pacto Historico","Alfredo Saade",0.38,21374,
# Centro Esperanza
"2022-03-15","Resultado","Centro Esperanza","Sergio Fajardo",33.43,717694,
"2022-03-15","Resultado","Centro Esperanza","Juan Manuel Galan",22.54,483977,
"2022-03-15","Resultado","Centro Esperanza","Alejandro Gaviria",15.57,334318,
"2022-03-15","Resultado","Centro Esperanza","Carlos Amaya",20.97,450286,
"2022-03-15","Resultado","Centro Esperanza","Jorge Enrique Robledo",7.46,160159,
# Equipo por Colombia
"2022-03-15","Resultado","Equipo por Colombia","Federico Gutierrez",54.17,2139927,
"2022-03-15","Resultado","Equipo por Colombia","Alex Char",17.73,700557,
"2022-03-15","Resultado","Equipo por Colombia","David Barguil",15.76,622724,
"2022-03-15","Resultado","Equipo por Colombia","Enrique Peñalosa",5.82,229970,
"2022-03-15","Resultado","Equipo por Colombia","Aydee Lizarazo",6.51,257191
) %>%
dplyr::mutate(fecha=lubridate::as_date(fecha))
# Tabla de votacion ####
options(knitr.kable.NA = '')
ajiaco_simulacion_fit %>%
posterior::as_draws_df() %>%
tibble::as_tibble() %>%
dplyr::select(starts_with("pred[")) %>%
tidyr::pivot_longer(cols = starts_with("pred["), names_to = "parameter",values_to = "estimate") %>%
dplyr::group_by(parameter) %>%
dplyr::summarise(m = quantile(estimate,0.5),
p10 = quantile(estimate,0.1),
p90 = quantile(estimate,0.9)) %>%
dplyr::mutate(n=stringr::str_extract(parameter,"[:digit:]") %>% as.numeric()) %>%
#Join names
dplyr::left_join(tribble(~n,~nombre,
1,"Gustavo Petro",
2,"Federico Gutierrez",
3,"Sergio Fajardo",
4,"Rodolfo Hernandez",
#5,"Ingrid Betancourt",
#"jm","John Milton Rodriguez",
5,"Resto (Otros, Blanco e Indecisos)"),
by="n") %>%
# Order
dplyr::mutate(nombre = factor(nombre,levels = c("Resto (Otros, Blanco e Indecisos)",
#"Ingrid Betancourt",
"Rodolfo Hernandez","Sergio Fajardo","Federico Gutierrez","Gustavo Petro"))) %>%
#dplyr::filter(!str_detect(nombre,"Resto")) %>%
dplyr::select(nombre,m) %>%
dplyr::mutate(m = m/1e6) %>%
# Consultas
dplyr::left_join(consultas_resultados %>%
dplyr::group_by(consulta) %>%
dplyr::mutate(total_consulta = sum(votos)/1e6,
votos = votos/1e6) %>%
dplyr::select(candidato,votos,total_consulta),
by=c("nombre"="candidato")) %>%
dplyr::select(nombre,m,votos,total_consulta) %>%
# Kable
dplyr::arrange(desc(m)) %>%
# Bind rows censo
dplyr::bind_rows(tibble(nombre = "50% del censo electoral",
m = votantes_simulacion/1e6)) %>%
kable("html",
digits=2,
caption = "Simulacion del Ajiaco con censo electoral (Millones de votos)",
knitr.kable.NA = "",
col.names = c("Candidato",
"Votos Ajiaco",
"Votos Consulta",
"Total Consulta")) %>%
kable_styling(full_width = F, font_size = 14) %>%
row_spec(0,bold=TRUE, background = "#FF4900", color = "white") %>%
column_spec(2,italic = F, bold=TRUE, background = "#FFA500", color = "black") %>%
column_spec(3:4,bold=TRUE, color = "black") %>%
row_spec(6,bold=TRUE, background = "#c00000", color = "white") %>%
footnote(number = c(paste0("Fecha: 2022-05-21"),
paste0("Aunque nadie lee estas notas: Esto es una simulación, no la realidad")))