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

Augusto Ribas ribas.aca em gmail.com
Sexta Maio 10 17:12:27 BRT 2013


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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130510/c2353e79/attachment.html>


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