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.