<div dir="ltr">Da para fazer com ifelse:<div><br></div><div>ifelse(sapply(saida, class) == 'try-error', 'Verificar', saida)...<br></div><div><br></div><div style>Se a ideia é só verificar se deu certo, tu pode fazer direto com o class() dentro de um if/for...</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/9 Augusto Ribas <span dir="ltr"><<a href="mailto:ribas.aca@gmail.com" target="_blank">ribas.aca@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ola, eu gostaria de saber, se tem como eu mudar de forma simples a<br>
mensagem de erro que o R envia  ao tentar usar uma função e receber um<br>
erro.<br>
<br>
Por exemplo:<br>
<br>
#Imagine que eu tenho a seguinte lista, e precise aplicar uma função<br>
<br>
#Exemplo de lista de dados<br>
teste<-list(2, "a", 1 , 10 , "b")<br>
teste<br>
<br>
#Preparando um lugar para guardar os resultados<br>
saida<-list()<br>
<br>
#Se eu tentar fazer um loop com for, ele vai parar<br>
#quando chegar a letra, porque nao da para fazer o log de caracter<br>
for( i in 1:length(teste)) {<br>
  saida[i] <-log(teste[i])<br>
}<br>
<br>
#nesse caso o loop para e eu nao tenho  a saida que desejo<br>
saida<br>
<br>
#Mas então eu tentei usar a função try<br>
#minha ideia era que se der para calcular, calcule<br>
#senão de uma msg de erro e siga em frente pro proximo<br>
<br>
for( i in 1:length(teste)) {<br>
  saida[[i]] <-try( log(teste[[i]][1]) )<br>
}<br>
<br>
#agora eu tenho minha saida, com erro onde não deu para calcular, isso<br>
que eu queria<br>
saida<br>
<br>
#o que eu queria saber se é possivel fazer o seguinte<br>
#se der certo, execute a função, senão imprima o erro que eu falar<br>
#nesse caso eu gostaria de uma saida desse tipo:<br>
<br>
saida.exemplo<-list(0.6931472,"Verificar",0,2.302585,"Verificar")<br>
saida.exemplo<br>
<br>
#############################################################<br>
<br>
Esse exemplo eu peguei na função try.<br>
<br>
Mas na verdade eu estou usando o pacote taxize<br>
(<a href="http://ropensci.github.io/taxize_/" target="_blank">http://ropensci.github.io/taxize_/</a>)<br>
para conferir nomes de especies, e para conferir listas grandes, as<br>
vezes para quando a conexão com a internet falha, ou o nome da especie<br>
não é encontrado, resumindo eu queria saber se existe uma forma de<br>
falar pro R, fazer isso (minha função), se der erro retorne isso<br>
(minha mensagem).<br>
<br>
Agradeço desde ja a atenção.<br>
<br>
--<br>
Grato<br>
Augusto C. A. Ribas<br>
<br>
Site Pessoal: <a href="http://recologia.com.br/" target="_blank">http://recologia.com.br/</a><br>
Github: <a href="https://github.com/Squiercg" target="_blank">https://github.com/Squiercg</a><br>
Lattes: <a href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>
</blockquote></div><br></div>