无法在 R 中执行 for 循环

Unable to do forloop in R

您好,我在一个文件夹中保存了多个 PDF 文件。每个 PDF 文件都有多个以 $ 开头的货币值,我想提取每个文件中的第一个货币值,我可以对单个文件执行此操作,但在循环遍历多个文件时不能,我将从每个文件中获取输出文件 喜欢 $xxx,xxx,xxx $xxx,xxx,xxx $xxx,xxx,xxx 我用于单个文件时的代码

''''

text_data <- pdf_text('Sample2.pdf')
text_collapsed_data <- paste0(text_data, collapse = '\n')
k=str_extract_all(text_collapsed_data, "\$\d+(?:,\d+)(?:,\d+)")[[1]]
k[1] 

'''' 当我用来循环多只苍蝇时的代码

''''

files <- list.files(pattern = "pdf$")
for (i in 1:length(files)){
  print(i)
  pdf_text(paste(str_extract_all("~filepath/desktop",files[i], "\$\d+(?:,\d+)(?:,\d+)")[[1]]))

}

''''

获取错误下标越界请问我哪里出错了

你可以这样做:

myextr <- function(pdffile) {
  text_data <- pdf_text(pdffile)
  text_collapsed_data <- paste0(text_data, collapse = '\n')
  k=str_extract_all(text_collapsed_data, "\$\d+(?:,\d+)(?:,\d+)")[[1]]
  k[1] 
}
files <- list.files(pattern = "pdf$")
sapply(files, myextr)