<div dir="ltr">Sim, se saise um NA, um Null seria perfeito.<div style>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.</div><div style>Agora com exemplos acho que consigo propor algo mais amigável e razoável.</div>
<div style>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.</div><div style><br></div><div style>Bem agradeço novamente a ajuda e comentários de todos :)</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 10 de maio de 2013 15:51, David Valentim Dias <span dir="ltr"><<a href="mailto:dvdscripter@gmail.com" target="_blank">dvdscripter@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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.<br>
<div><br></div><div>Abraços</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 10 de maio de 2013 15:34, Augusto Ribas <span dir="ltr"><<a href="mailto:ribas.aca@gmail.com" target="_blank">ribas.aca@gmail.com</a>></span> escreveu:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>#</div>sapply(teste, function(x)tryCatch(log(x), error = function(...)"verificar"))<br>
</div><div>#</div><div><br></div><div>Isso era o que eu queria :), funcionou perfeitamente.</div><div><br></div>
<div>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.</div>
<div><br></div>
<div>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</div>
<div>Mas acho que usando esse tryCatch ai dar certo agora.</div><div>Eu imaginei que seria melhor deixar um exemplo mais simples, que produzia o mesmo efeito aqui, o efeito é mais ou menos o mesmo.</div><div><br></div><div>
Mas muito obrigado pelas resposta. me ajudaram muito.</div><div><br></div><div>Abraços</div><div>Augusto Ribas</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 10 de maio de 2013 14:54, Henrique Dallazuanna <span dir="ltr"><<a href="mailto:wwwhsd@gmail.com" target="_blank">wwwhsd@gmail.com</a>></span> escreveu:<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Tente assim:<div><br></div><div>sapply(teste, function(x)tryCatch(log(x), error = function(...)"verificar"))<br>
</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"><div><div>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></div></div><div>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">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>
</div></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br>Henrique Dallazuanna<br>Curitiba-Paraná-Brasil<br>25° 25' 40" S 49° 16' 22" O
</font></span></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">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></div></div><div><div><br><br clear="all">
<div><br></div>-- <br>
<div dir="ltr"><div>Grato<br>Augusto C. A. Ribas</div>
<div> </div>
<div>Site Pessoal: <a href="http://recologia.com.br/" target="_blank">http://recologia.com.br/</a><a href="http://augustoribas.heliohost.org" target="_blank"></a></div><div>Github: <a href="https://github.com/Squiercg" target="_blank">https://github.com/Squiercg</a></div>
<div>Lattes: <a href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br></div></div>
</div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">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></div></div><br><br clear="all"><div><br>
</div>-- <br><div class="im">
<div dir="ltr"><span lang="en"><span>Biostatistician</span> <span>Consultant</span> <span>and Cogito Programmer</span><span>'s</span> <span></span> <span><a href="http://www.facebook.com/CogitoConsultoriaEstatistica" target="_blank">http://www.facebook.com/CogitoConsultoriaEstatistica</a></span><br>
<span>Curriculum</span><span>:</span> <span><a href="http://lattes.cnpq.br/7541377569511492" target="_blank">http://lattes.cnpq.br/7541377569511492</a></span></span></div>
</div></div>
<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><br clear="all"><div><br></div>-- <br>
<div dir="ltr"><div>Grato<br>Augusto C. A. Ribas</div>
<div> </div>
<div>Site Pessoal: <a href="http://recologia.com.br/" target="_blank">http://recologia.com.br/</a><a href="http://augustoribas.heliohost.org" target="_blank"></a></div><div>Github: <a href="https://github.com/Squiercg" target="_blank">https://github.com/Squiercg</a></div>
<div>Lattes: <a href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br></div></div>
</div>