Augusto, Complicado ein, no seu exemplo você deu uma entrada de um tipo diferente. log(-1) não existe mas o R ainda retorna um valor indicando erro (NaN). A sua do taxize retorna qual valor em caso de falha?
Abraços Em 10 de maio de 2013 14:39, Rodrigo Coster <[email protected]> escreveu: > Da para fazer com ifelse: > > ifelse(sapply(saida, class) == 'try-error', 'Verificar', saida)... > > Se a ideia é só verificar se deu certo, tu pode fazer direto com o class() > dentro de um if/for... > > > 2013/5/9 Augusto Ribas <[email protected]> > >> 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 >> [email protected] >> 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. >> > > > _______________________________________________ > R-br mailing list > [email protected] > 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 [email protected] 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.
