如何在R循环中使用tryCatch?

如何在R循环中使用tryCatch?,r,error-handling,try-catch,R,Error Handling,Try Catch,我正在尝试从pdf文档中提取具有特定关键字的短语。我使用“for”循环。在某些文档中没有出现任何关键字之前,一切都是正确的。它返回以下错误:“data.frame中的错误(txt=doctxt,句子=句子):参数表示行数不同:1,0” 因此,我想使用tryCatch函数,这样当出现错误时,它会返回发生错误的文档,并继续循环。我有以下摘要形式的代码,但tryCatch函数不适用于我 for (doctxt in files) { txt <- tabulizer::extract_te

我正在尝试从pdf文档中提取具有特定关键字的短语。我使用“for”循环。在某些文档中没有出现任何关键字之前,一切都是正确的。它返回以下错误:“data.frame中的错误(txt=doctxt,句子=句子):参数表示行数不同:1,0”

因此,我想使用tryCatch函数,这样当出现错误时,它会返回发生错误的文档,并继续循环。我有以下摘要形式的代码,但tryCatch函数不适用于我

for (doctxt in files) {

  txt <- tabulizer::extract_text(doctxt, encoding ="UTF-8")

  text <- unlist(strsplit(txt, "\\."))
  
  #ERROR HANDING
  possibleError <- tryCatch(sentence <- stringr::str_subset(text, "(?=.*ai4people)|(?=.*asilomar)"), error = function(e) e)
  
  if(inherits(possibleError, print(doctxt))) next


  df_p0 <- data.frame("pdf"=doctxt, "sentence" =sentence)

}
for(文件中的docText){

txt您不需要
tryCatch
,如果没有匹配项,您可以尝试
if(!length(句子))next
跳过数据帧步骤。您得到的错误不是在创建
句子时发生的,而是在尝试执行
数据帧(1,NULL)
数据帧(1,字符(0))