相关疑难解决方法(0)

如何告诉lapply忽略错误并处理列表中的下一个事情?

我在下面有一个示例函数,它将日期作为字符串读入并将其作为日期对象返回.如果它读取的字符串无法转换为日期,则会返回错误.

testFunction <- function (date_in) {
    return(as.Date(date_in))
    }

testFunction("2010-04-06")  # this works fine
testFunction("foo")  # this returns an error
Run Code Online (Sandbox Code Playgroud)

现在,我想使用lapply并在日期列表中应用此函数:

dates1 = c("2010-04-06", "2010-04-07", "2010-04-08")
lapply(dates1, testFunction)  # this works fine
Run Code Online (Sandbox Code Playgroud)

但是,如果我想在两个好日期中间的一个字符串返回错误时将该函数应用于列表,那么处理此问题的最佳方法是什么?

dates2 = c("2010-04-06", "foo", "2010-04-08")
lapply(dates2, testFunction)
Run Code Online (Sandbox Code Playgroud)

我认为我想在那里试一试,但是有没有办法捕获"foo"字符串的错误,同时要求lapply继续阅读第三个日期?

error-handling r try-catch lapply

35
推荐指数
3
解决办法
2万
查看次数

标签 统计

error-handling ×1

lapply ×1

r ×1

try-catch ×1