以下に、日付を文字列として読み取り、日付オブジェクトとして返す関数の例を示します。日付に変換できない文字列を読み取ると、エラーが返されます。
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
しかし、2 つの適切な日付の中間にある 1 つの文字列がエラーを返したときにリストに関数を適用したい場合、これに対処する最善の方法は何ですか?
dates2 = c("2010-04-06", "foo", "2010-04-08")
lapply(dates2, testFunction)
そこにtry catchが必要だと思いますが、lapplyに続行して3番目の日付を読み取るように依頼しながら、「foo」文字列のエラーをキャッチする方法はありますか?