Tengo una función de ejemplo a continuación que se lee en una fecha como una cadena y la devuelve como un objeto de fecha. Si lee una cadena que no puede convertir a una fecha, devuelve un error.¿Cómo decirle a lapply que ignore un error y procese lo siguiente en la lista?
testFunction <- function (date_in) {
return(as.Date(date_in))
}
testFunction("2010-04-06") # this works fine
testFunction("foo") # this returns an error
Ahora, quiero utilizar lapply y aplicar esta función a través de una lista de fechas:
dates1 = c("2010-04-06", "2010-04-07", "2010-04-08")
lapply(dates1, testFunction) # this works fine
Pero si quiero aplicar la función a través de una lista cuando una cuerda en medio de dos buenas fechas devuelve un error, ¿cuál es la mejor manera de lidiar con esto?
dates2 = c("2010-04-06", "foo", "2010-04-08")
lapply(dates2, testFunction)
Supongo que quiero un intento de captura en ese país, pero hay una manera de detectar el error de la cadena "foo", mientras que pide lapply para continuar y leer la tercera fecha?
muy estrechamente relacionados: http://stackoverflow.com/questions/1395622/debugging-lapply-sapply-calls – Shane