varias valores una reemplazar por perdidos numeros modificar letras graficas datos convertir columna cambiar agrupar actualizar r for-loop if-statement dataframe break

valores - Error al escribir el marco de datos en R



reemplazar valores perdidos en r (1)

Aquí hay una opción para una sola palabra

v1 <- numeric(length(All_files)) word <- "school" df <- data.frame() Status="Present" for (i in seq_along(All_files)){ file_name <- All_files[i] cnt <- pdf_info(All_files[i])$pages print(cnt) for(j in seq_len(cnt)){ img_file <- pdftools::pdf_convert(All_files[i], format = ''tiff'', pages = j, dpi = 400) text <- ocr(img_file) ocr_text <- capture.output(cat(text)) check <- sapply(ocr_text, paste, collapse="") junk <- dir(path= paste0(path, "/tiff"), pattern="tiff") file.remove(junk) br <-if(length(which(stri_detect_fixed(tolower(check),tolower(word)))) <= 0) "Not Present" else "Present" print(br) if(br=="Present") { v1[i] <- j break} } Status <- if(v1[i] == 0) "Not Present" else "Present" pages <- if(v1[i] == 0) "-" else paste0(tools::file_path_sans_ext(basename(file_name)), "_", v1[i]) words <- if(v1[i] == 0) "-" else word df <- rbind(df, cbind(file_name = basename(file_name), Status, pages = pages, words = words)) }

-salida

df # file_name Status pages words #1 Amenities.pdf Not Present - - #2 test.pdf Present test_2 school

Intento buscar una palabra del texto que extraigo del archivo pdf que está en formato OCR. Este archivo pdf tiene varias páginas, así que para cada página busco esa palabra, si esa palabra se encuentra, escriba el nombre del archivo , el estado (Presente o No Presente), la página en la que se encuentra y las palabras que ha encontrado. un marco de datos. Pero el marco de datos está dando el estado "Presente" para todos los archivos, solo quiero esto

file_name Status Page words test1.pdf "Present" test1_2,test1_4 gym,school test2.pdf "Not Present" - - test3.pdf "Present" test3_1 gym

¿Qué me falta en este código?

aquí está el código

All_files=Sys.glob("*.pdf") v1 <- numeric(length(All_files)) chk_words=c("Swimming pool","Gym","west","para") word <- "Gym" tc=c() ps=c() x=list() df <- data.frame() Status="Present" for (i in seq_along(All_files)){ file_name <- All_files[i] cnt <- pdf_info(All_files[i])$pages print(cnt) for(j in seq_len(cnt)){ img_file <- pdftools::pdf_convert(All_files[i], format = ''tiff'', pages = j, dpi = 400) text <- ocr(img_file) ocr_text <- capture.output(cat(text)) check <- sapply(ocr_text, paste, collapse="") junk <- dir(path="D:/Deepesh/R Script/All_PDF_Files/Registration_Certificates_OCR", pattern="tiff") file.remove(junk) br <-if(length(which(stri_detect_fixed(tolower(check),tolower(word)))) <= 0) "Not Present" else "Present" print(br) if(br=="Present") { v1[i] <- j break} for(k in chk_words){ br=if(length(which(stri_detect_fixed(tolower(check),tolower(k)))) <= 0){ print("Not Present") } else {print("Present")} if(br == "Present") ps=k x[[k]]=ps tc=unlist(unique(x)) } } print(tc) Status <- if(v1[i] == 0) "Not Present" else "Present" pages <- if(v1[i] == 0) "-" else paste0(tools::file_path_sans_ext(basename(file_name)), "_", v1[i]) words <- if(v1[i] == 0) "-" else word df <- rbind(df, cbind(file_name = basename(file_name), Status, pages = pages, words = words,tc)) }

Cualquier sugerencia es apreciable.

Gracias