在循环中使用 tryCatch 绕过带有 read.zoo 的错误消息

Using tryCatch to bypass the error messages with read.zoo in a loop

我第一次在 R 中尝试条件处理和恢复。我想在循环中使用 read.zoo 函数来读取许多具有两种不同时间格式的 csv 文件,例如格式 1 和格式2. 所以很明显,当我在 read.zoo 中使用 format1 读取时间格式为 2 的 csv 文件时,它会给我一个错误,所以我想绕过该错误消息并想尝试格式 2在 read.zoo 函数中。我正在尝试类似的东西,

my.zoo <- tryCatch(expr = read.zoo(my.csv, format = format1),
                   error = read.zoo(my.csv, format = format2)

但是无论时间格式如何,我总是收到有关时间格式的错误消息。我不确定我是否正确使用了 tryCatch 函数,或者是否有任何其他方法可以做到这一点。任何帮助表示赞赏。提前致谢。

必须将恢复包装到 error 函数中才能使 tryCatch 正常运行,您可以尝试这样的操作:

my.zoo = tryCatch(
             expr = read.zoo(my.csv, format = format1), 
             error = function(e) read.zoo(my.csv, format = format2)
          )