
Bom dia Bruno Me parece que suas 3 funções são idênticas. Passa a variável “Ciro Gomes” como parâmetro para a consolida1(). Deve ter algum erro de digitação na consolida2(). daniel Daniel Tiezzi, MD, PhD Professor Associado Departamento de Ginecologia e Obstetrícia Setor de Mastologia e Oncologia Ginecológica Faculdade de Medicina de Ribeirão Preto - USP Tel.: 16 3602-2488 e-mail: dtiezzi@fmrp.usp.br
On 11 Jan 2019, at 09:16, Bruno César Pasquini por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
####### 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")