Como dizer ao lapply para ignorar um erro e processar a próxima coisa na lista?
Eu tenho um exemplo de função abaixo que lê em uma data como uma seqüência de caracteres e retorna como um objeto de data. Se ele ler uma sequência que não pode ser convertida em uma data, retornará um erro.
testFunction <- function (date_in) {
return(as.Date(date_in))
}
testFunction("2010-04-06") # this works fine
testFunction("foo") # this returns an error
Agora, quero usar lapply e aplicar esta função em uma lista de datas:
dates1 = c("2010-04-06", "2010-04-07", "2010-04-08")
lapply(dates1, testFunction) # this works fine
Mas se eu quiser aplicar a função em uma lista quando uma string no meio de duas datas boas retornar um erro, qual é a melhor maneira de lidar com isso?
dates2 = c("2010-04-06", "foo", "2010-04-08")
lapply(dates2, testFunction)
Suponho que eu queira tentar pegar lá, mas existe uma maneira de capturar o erro da string "foo" enquanto solicita ao lapply que continue e leia a terceira data?