[R-br] duvida sobre função try {base}

David Valentim Dias dvdscripter em gmail.com
Sexta Maio 10 17:41:54 BRT 2013


Eles tem um github (taxize) envie um Pull request na função.


Em 10 de maio de 2013 17:12, Augusto Ribas <ribas.aca em gmail.com> escreveu:

> Sim, se saise um NA, um Null seria perfeito.
> Eu estava sugerindo no fórum oficial dos pacotes uma forma
> mais amigável de testar um vetor ou lista de nomes de forma mais simples.
> Agora com exemplos acho que consigo propor algo mais amigável e razoável.
> Mas na pagina do try tinha uma menção ao trycatch, mas eu não consegui
> usar de forma eficiente. Daquele jeito ficou bem legal.
>
> Bem agradeço novamente a ajuda e comentários de todos :)
>
>
> Em 10 de maio de 2013 15:51, David Valentim Dias <dvdscripter em gmail.com>escreveu:
>
> Bom que o problema se resolveu com os exemplos acima dos colegas da lista.
>> Checagem de erro no R fora da biblioteca padrão é um caos mesmo. Poderia
>> muito bem retornar algo diferente de string (NA por exemplo) e você ia
>> checar e substituir como foi sugerido acima.
>>
>> Abraços
>>
>>
>> Em 10 de maio de 2013 15:34, Augusto Ribas <ribas.aca em gmail.com>escreveu:
>>
>> #
>>> sapply(teste, function(x)tryCatch(log(x), error =
>>> function(...)"verificar"))
>>> #
>>>
>>> Isso era o que eu queria :), funcionou perfeitamente.
>>>
>>> David, o taxisize retorna uma mensagem de erro que é uma String. Por
>>> exemplo eu guardava os resultados numa matriz de characters, onde uma
>>> coluna é o nome que usei para fazer a busca, a resposta quando da certo são
>>> o nome sugerido, um score que é referente a se o nome não esta
>>> desatualiado, se tem erro de digitação, se não mudou que são as coisas que
>>> eu guardo.
>>>
>>> Ai usando o try() tava ficando uma mensagem enorme nas células, ai no r
>>> so imprimia 1 coluna por vez,  ai eu queria que ele deixa-se uma palavra
>>> menor so para facilitar a visualização, ja que se não deu certo eu quero
>>> verificar caso a caso mesmo, ou posso tentar denovo so com o que falhou,
>>> porque existem muitos erros de nome de especie muito antigas, que mudou,
>>> essas coisas que não é para dar certo mesmo
>>> Mas acho que usando esse tryCatch ai dar certo agora.
>>> Eu imaginei que seria melhor deixar um exemplo mais simples, que
>>> produzia o mesmo efeito aqui, o efeito é mais ou menos o mesmo.
>>>
>>> Mas muito obrigado pelas resposta. me ajudaram muito.
>>>
>>> Abraços
>>> Augusto Ribas
>>>
>>>
>>> Em 10 de maio de 2013 14:54, Henrique Dallazuanna <wwwhsd em gmail.com>escreveu:
>>>
>>> Tente assim:
>>>>
>>>> sapply(teste, function(x)tryCatch(log(x), error =
>>>> function(...)"verificar"))
>>>>
>>>>
>>>> 2013/5/9 Augusto Ribas <ribas.aca em gmail.com>
>>>>
>>>>> Ola, eu gostaria de saber, se tem como eu mudar de forma simples a
>>>>> mensagem de erro que o R envia  ao tentar usar uma função e receber um
>>>>> erro.
>>>>>
>>>>> Por exemplo:
>>>>>
>>>>> #Imagine que eu tenho a seguinte lista, e precise aplicar uma função
>>>>>
>>>>> #Exemplo de lista de dados
>>>>> teste<-list(2, "a", 1 , 10 , "b")
>>>>> teste
>>>>>
>>>>> #Preparando um lugar para guardar os resultados
>>>>> saida<-list()
>>>>>
>>>>> #Se eu tentar fazer um loop com for, ele vai parar
>>>>> #quando chegar a letra, porque nao da para fazer o log de caracter
>>>>> for( i in 1:length(teste)) {
>>>>>   saida[i] <-log(teste[i])
>>>>> }
>>>>>
>>>>> #nesse caso o loop para e eu nao tenho  a saida que desejo
>>>>> saida
>>>>>
>>>>> #Mas então eu tentei usar a função try
>>>>> #minha ideia era que se der para calcular, calcule
>>>>> #senão de uma msg de erro e siga em frente pro proximo
>>>>>
>>>>> for( i in 1:length(teste)) {
>>>>>   saida[[i]] <-try( log(teste[[i]][1]) )
>>>>> }
>>>>>
>>>>> #agora eu tenho minha saida, com erro onde não deu para calcular, isso
>>>>> que eu queria
>>>>> saida
>>>>>
>>>>> #o que eu queria saber se é possivel fazer o seguinte
>>>>> #se der certo, execute a função, senão imprima o erro que eu falar
>>>>> #nesse caso eu gostaria de uma saida desse tipo:
>>>>>
>>>>> saida.exemplo<-list(0.6931472,"Verificar",0,2.302585,"Verificar")
>>>>> saida.exemplo
>>>>>
>>>>> #############################################################
>>>>>
>>>>> Esse exemplo eu peguei na função try.
>>>>>
>>>>> Mas na verdade eu estou usando o pacote taxize
>>>>> (http://ropensci.github.io/taxize_/)
>>>>> para conferir nomes de especies, e para conferir listas grandes, as
>>>>> vezes para quando a conexão com a internet falha, ou o nome da especie
>>>>> não é encontrado, resumindo eu queria saber se existe uma forma de
>>>>> falar pro R, fazer isso (minha função), se der erro retorne isso
>>>>> (minha mensagem).
>>>>>
>>>>> Agradeço desde ja a atenção.
>>>>>
>>>>> --
>>>>> Grato
>>>>> Augusto C. A. Ribas
>>>>>
>>>>> Site Pessoal: http://recologia.com.br/
>>>>> Github: https://github.com/Squiercg
>>>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>>>> _______________________________________________
>>>>> R-br mailing list
>>>>> R-br em listas.c3sl.ufpr.br
>>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>>>> código mínimo reproduzível.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Henrique Dallazuanna
>>>> Curitiba-Paraná-Brasil
>>>> 25° 25' 40" S 49° 16' 22" O
>>>>
>>>> _______________________________________________
>>>> R-br mailing list
>>>> R-br em listas.c3sl.ufpr.br
>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>>> código mínimo reproduzível.
>>>>
>>>
>>>
>>>
>>> --
>>> Grato
>>> Augusto C. A. Ribas
>>>
>>> Site Pessoal: http://recologia.com.br/<http://augustoribas.heliohost.org>
>>> Github: https://github.com/Squiercg
>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>>
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em listas.c3sl.ufpr.br
>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> código mínimo reproduzível.
>>>
>>
>>
>>
>> --
>> Biostatistician Consultant and Cogito Programmer's
>> http://www.facebook.com/CogitoConsultoriaEstatistica
>> Curriculum: http://lattes.cnpq.br/7541377569511492
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
>
> --
> Grato
> Augusto C. A. Ribas
>
> Site Pessoal: http://recologia.com.br/ <http://augustoribas.heliohost.org>
> Github: https://github.com/Squiercg
> Lattes: http://lattes.cnpq.br/7355685961127056
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 
Biostatistician Consultant and Cogito Programmer's
http://www.facebook.com/CogitoConsultoriaEstatistica
Curriculum: http://lattes.cnpq.br/7541377569511492
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130510/86b3069e/attachment-0001.html>


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