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@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çosEm 10 de maio de 2013 15:34, Augusto Ribas <ribas.aca@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 mesmoMas 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çosAugusto RibasEm 10 de maio de 2013 14:54, Henrique Dallazuanna <wwwhsd@gmail.com> escreveu:
Tente assim:sapply(teste, function(x)tryCatch(log(x), error = function(...)"verificar"))
2013/5/9 Augusto Ribas <ribas.aca@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@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@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.
--
_______________________________________________
R-br mailing list
R-br@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@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.
--
_______________________________________________
R-br mailing list
R-br@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.