####### Codigo Reprodutivel...
library(data.table)
### Percentual de Votos Validos nos estados e no exterior...
perc_validos <- data.table(Regiao = c('Centro-Oeste', 'Centro-Oeste', 'Centro-Oeste', 'Centro-Oeste', 'Exterior', 'Nordeste', 'Nordeste', 'Nordeste', 'Nordeste', 'Nordeste', 'Nordeste', 'Nordeste', 'Nordeste', 'Nordeste', 'Norte', 'Norte', 'Norte', 'Norte', 'Norte', 'Norte', 'Norte', 'Sudeste', 'Sudeste', 'Sudeste', 'Sudeste', 'Sul', 'Sul', 'Sul'),
Estado = c('Distrito Federal', 'Goias', 'Mato Grosso', 'Mato Grosso do Sul', '', 'Alagoas', 'Bahia', 'Ceara', 'Maranhao', 'Paraiba', 'Pernambuco', 'Piaui', 'Rio Grande do Norte', 'Sergipe', 'Acre', 'Amapa', 'Amazonas', 'Para', 'Rondonia', 'Roraima', 'Tocantins', 'Espirito Santo', 'Minas Gerais', 'Rio de Janeiro', 'Sao Paulo', 'Parana', 'Rio Grande do Sul', 'Santa Catarina'),
Bolsonaro = c(0.5837, 0.5724, 0.6004, 0.5506, 0.5879, 0.3440, 0.2341, 0.2174, 0.2428, 0.3130, 0.3057, 0.1876, 0.3021, 0.2721, 0.6224, 0.4074, 0.4348, 0.3619, 0.6224, 0.6297, 0.4464, 0.5476, 0.4831, 0.5979, 0.5300, 0.5689, 0.5263, 0.6582),
Haddad = c(0.1187, 0.2186, 0.2476, 0.2387, 0.1010, 0.4475, 0.6028, 0.3312, 0.6126, 0.4546, 0.4887, 0.6340, 0.4119, 0.5009, 0.1853, 0.3277, 0.4030, 0.4139, 0.2036, 0.1785, 0.4112, 0.2420, 0.2765, 0.1469, 0.1642, 0.1970, 0.2281, 0.1513),
Ciro = c(0.1660, 0.0860, 0.0559, 0.0804, 0.1452, 0.1012, 0.0941, 0.4095, 0.0839, 0.1675, 0.1356, 0.1142, 0.2231, 0.1302, 0.0517, 0.1234, 0.0750, 0.1003, 0.0603, 0.0536, 0.0717, 0.0954, 0.1164, 0.1522, 0.1135, 0.0831, 0.1137, 0.0668),
Outros = c(0.1316, 0.1230, 0.0961, 0.1304, 0.1659, 0.1072, 0.0690, 0.0419, 0.0606, 0.0650, 0.0700, 0.0642, 0.0631, 0.0967, 0.1405, 0.1417, 0.0873, 0.1237, 0.1739, 0.1383, 0.0707, 0.1149, 0.1241, 0.1030, 0.1922, 0.1510, 0.1318, 0.1236)
)
### Analisando o data.table perc_validos...
perc_validos; class(perc_validos); str(perc_validos); dim(perc_validos)
### Total de Votos Validos por regiao e no exterior...
votos_regiao <- data.table(Regiao = c('Centro-Oeste', 'Exterior', 'Nordeste', 'Norte', 'Sudeste', 'Sul'),
'Jair Bolsonaro' = c(4555415, 113690, 7453186, 3785038, 23915925, 9453736),
'Fernando Haddad' = c(1642054, 19540, 14583334, 3211002, 8623232, 3262843),
'Ciro Gomes' = c(750776, 28073, 4892961, 748170, 5425104, 1499282),
'Demais Candidatos' = c(952142, 32078, 1894092, 982103, 6968773, 2258047)
)
### Analisando o data.table votos_regiao...
votos_regiao; class(votos_regiao); str(votos_regiao); dim(votos_regiao)
### Fazendo o cruzamento... Ou pelo menos tentando...
consolida1 <- function(Candidato) {
temporario <- merge(x = perc_validos,
y = votos_regiao[, .(Regiao,
Candidato)],
by = "Regiao",
all.x = TRUE,
sort = TRUE)
return(temporario)
}
consolida1(Candidato = "Jair Bolsonaro")
consolida2 <- function(Candidato) {
temporario <- merge(x = perc_validos,
y = votos_regiao[, .(Regiao,
substitute(Candidato))],
by = "Regiao",
all.x = TRUE,
sort = TRUE)
return(temporario)
}
consolida2(Candidato = "Ciro Gomes")
consolida3 <- function(Candidato) {
temporario <- merge(x = perc_validos,
y = votos_regiao[, .(Regiao,
eval(Candidato))],
by = "Regiao",
all.x = TRUE,
sort = TRUE)
return(temporario)
}
consolida3(Candidato = "Fernando Haddad")