Как исправить цикл, поскольку он возвращает только последнюю итерацию - PullRequest
1 голос
/ 27 марта 2019

У меня есть список PDF-файлов и список ключевых слов, каждое ключевое слово должно проходить через каждый PDF-файл и возвращать TRUE, если оно существует в PDF-файле

Пробуется с двумя for циклами, но возвращается только последнее ключевое слово ирезультат также неверный, все возвращаются как ИСТИНА.Только один файл PDF содержит это слово, но он показывает значение ИСТИНА для всех файлов PDF


library(pdftools)
library(stringr)
library(tm)
library(filesstrings)
library(RODBC)


setwd("C:/RProject/ReadPDF/InputFiles/")

 SelectFirstKeyword <- list("new formula" , "new research", "morning up")



 ID  <- list.files("C:/RProject/ReadPDF/InputFiles/", full.names = T)

 ID_ <- ID[ID != ""]

 files   <- ID_


 for(i in 1:length(files)){

         for(j in 1:length(SelectFirstKeyword)){



           filename <- files[i]
           read <- readPDF(control = list(text = "-layout"))

           mystring <- Corpus(URISource(filename), readerControl = list(reader = read))

           lower_string <- tolower(mystring)
           CleanData  <- gsub("\n", " ",lower_string)

           second_string <- tolower(SelectFirstKeyword[j])
           print(second_string)

           mystring <- paste(CleanData,sep=" ")
           mystring_vector <- str_split(CleanData, "!")[[1]]

           FirstMatch <- second_string

           Match1 <- grepl(FirstMatch,mystring_vector[1])

           mystring <- paste(CleanData,sep=" ")
           mystring_vector <- str_split(CleanData, "!")[[1]]

           FirstMatch <- second_string

           Match1 <- grepl(FirstMatch,mystring_vector[1])


          FinalOutput <- paste(pdf_list,Outid, Match1)

          View(FinalOutput)


            if (Match1 == TRUE)
            {
                DATA1  <- paste(ID = pdf_list, Outid = FirstMatch , Keywordinnote = Match1)


            }

     }
}

View(DATA1)

### I shall email you the pdf files


Ожидаемый результат:

ID  outid       keywordinnote
1   news        TRUE
2   new formula TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...