Как использовать trycatch, чтобы пропустить ошибки и перейти к следующему в списке - PullRequest
1 голос
/ 15 июня 2019

Я хочу проанализировать файлы RTF из папки в файлах RTF, которые привели к ошибкам во время шага lapply.

Я новичок в использовании trycatch, так как я могу включить его в свой код (шаг lapply), чтобы игнорировать ошибки и продолжить анализ следующего файла rtf?

Ответы [ 2 ]

1 голос
/ 15 июня 2019

Это у вас работает?

yourFunction <- function(x) {
  rtf <- read_rtf(x, verbose = FALSE, row_start = "*| ", row_end = "",
                  cell_end = " | ", ignore_tables = FALSE, check_file = TRUE)

  text <- unlist(strsplit(rtf, "\\."))

  toMatch <- c("bitcoin", "fund")
  matches <- unique(grep(paste(toMatch,collapse="|"), 
                         text, value=TRUE))
  matches <- data.frame(matches)
}

results = lapply(files, function(x){
  tryCatch(yourFunction(x), 
           error = function(e)print(paste(x, 'did not want')), 
           finally = 0)})
0 голосов
/ 17 июня 2019

Что по этому поводу?

foo <- function(x) tryCatch(yourFunction(x), error = function(e) e)
lapply(files, foo)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...