¿Cómo decirle a lapply que ignore un error y procese lo siguiente en la lista?
Tengo una función de ejemplo a continuación que lee 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.
testFunction <- function (date_in) {
return(as.Date(date_in))
}
testFunction("2010-04-06") # this works fine
testFunction("foo") # this returns an error
Ahora, quiero usar lapply y aplicar esta función a 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 sobre una lista cuando una cadena en medio de dos fechas buenas 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 atrapar allí, pero ¿hay alguna manera de detectar el error para la cadena "foo" mientras le pido a Lapply que continúe y lea la tercera fecha?