silvadenisson / electionsBR

65 stars 19 forks source link

Erro no processamento dos dados #8

Closed bruno-po closed 7 years ago

bruno-po commented 7 years ago

Eu tenho recebido uma mensagem de erro ao baixar dados com o pacote electionsBR.

vm <- vote_mun_zone_local(2016) tentando a URL 'http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_candidato_munzona/votacao_candidato_munzona_2016.zip' Content type 'unknown' length 32403026 bytes (30.9 MB)

downloaded 30.9 MB Processing the data... Done.

Warning messages: 1: In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : entrada inválida na conexão de entrada 'votacao_candidato_munzona_2016_RJ.txt' 2: In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : EOF within quoted string

Recebi o mesmo erro ao usar as funções candidate_local() e vote_mun_zone_local(), baixando dados de 2016. Dá erro ao processar o arquivo do RJ. Não testei com as demais funções. Mesmo com o erro, os dados são processados e estruturados corretamente. Porém, ficam faltando observações.

Fiz uma checagem rápida nos dados das votações e estão faltando algumas centenas de municípios:

length(unique(vm$NOME_MUNICIPIO)) [1] 5253

Talvez o problema esteja na base de dados e não na importação. Mas fica aqui o relato.

silvadenisson commented 7 years ago

Olá Bruno!

Primeiro em qual sistema operacional esse problema está acontecendo?

Quando testamos as funções esse erro apresentou apenas no MacOS, e apenas para 2016. Então incluirmos um argumento na função. ex: vm <- vote_mun_zone_local(2016, encoding = "latin1")

obrigado pelo contato. Att., Denisson Silva

bruno-po commented 7 years ago

Oi Denisson! Desculpe, faltou esta info.

O OS aqui é Debian 8. Farei o teste com o argumento acima e aviso o resultado.

Obrigado pelo pronto retorno!

bruno-po commented 7 years ago

Rodei aqui

vm0 <- vote_mun_zone_local(2016, encoding = 'latin1')

Não obtive mensagem de erro, mas ainda assim parece que não veio completo. Efetivamente, o número de observações do estado do Rio de Janeiro aumentou de 24.348 na primeira importação para 214.702 na segunda. Mas ainda assim:

length(unique(vm0$NOME_MUNICIPIO)) [1] 5295

Foram 42 municípios a mais que a primeira importação. Mas estou considerando que o resultado aqui deveria ser '[1] 5568', que é o número de municípios que realizaram as eleições em 2016.

Verificarei pelo número de municípios de cada UF para conferir onde é que está faltando.

Att, Bruno Pinheiro

silvadenisson commented 7 years ago

Bruno,

o erro no seu código é que vc usa a variável nome de município, pois, os nomes do municípios de repetem. Ex: Viçosa - Alagoas e Viçosa - Minas Gerais.

para fazer esse unique vc deveria colocar mais de uma variável, como UF e Cidade: length(unique(vm0[,c(6,8)]))

Att., Denisson Silva

bruno-po commented 7 years ago

Nossa. Erro básico meu. Não preciso de mais de uma variável. Só usar o código:

length(unique(vm0$CODIGO_MUNICIPIO)) [1] 5568

Bastou incluir o argumento encoding, mesmo, que veio tudo. Isto resolveu.

vm <- vote_mun_zone_local(2016, encoding = "latin1")

Grato pela atenção e por disponibilizar este pacote. Adianta um montão a vida.

Att, Bruno Pinheiro

silvadenisson commented 7 years ago

Esperamos ter ajudado.

estamos a disposição.

Att., Denisson Silva