[R-br] Ajuda com a passagem incorreta de variável string para uma função do R

Daniel Guimarães Tiezzi dtiezzi em usp.br
Sex Jan 11 10:50:57 -02 2019


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 em fmrp.usp.br



> On 11 Jan 2019, at 09:16, Bruno César Pasquini por (R-br) <r-br em 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")

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190111/e7fedf84/attachment.html>


Mais detalhes sobre a lista de discussão R-br