我有一个示例函数,可以将日期字符串读入并将其作为日期对象返回。如果它读取的字符串无法转换为日期,则返回一个错误。
testFunction <- function (date_in) {
return(as.Date(date_in))
}
testFunction("2010-04-06") # this works fine
testFunction("foo") # this returns an error
现在,我想使用lapply函数并将其应用于一组日期:
dates1 = c("2010-04-06", "2010-04-07", "2010-04-08")
lapply(dates1, testFunction) # this works fine
但是,如果我想在一个列表上应用该函数,当两个良好日期之间的一个字符串返回错误时,最好的处理方法是什么?
dates2 = c("2010-04-06", "foo", "2010-04-08")
lapply(dates2, testFunction)
我假设我需要在那里使用try catch,但是是否有一种方法可以捕获"foo"字符串的错误,同时请求lapply继续并读取第三个日期?