Simple R Shiny App, чтобы выбрать документы, которые имеют определенное слово - PullRequest
0 голосов
/ 06 января 2020
  1. Проблема: идея состоит в том, чтобы создать приложение R Shiny для выбора документов из каталога, в которых есть интересующее слово. Итак, скажем, например, мне интересно выбрать все документы, содержащие слово «Chevy», а затем создать список всех имен документов, которые соответствуют этому требованию, для отображения в качестве окончательного результата.

  2. Что я пробовал? В мо mnet я работаю только с файлами PDF. Я написал простой код, который работает, но когда он превращается в блестящий код, он ничего не возвращает. Во-первых, вот код, который я написал:

    directory <- "/Users/R/pdf_files"
    # Search for documents with specified keyword.
    want <- keyword_directory(directory, keyword = c('chevy'), 
                       ignore_case = TRUE,recursive = TRUE,
                       split_pdf = TRUE, full_names = TRUE)
    print(unique(want[2]))
    
    # The above returned this:
    pdf_name
    1 joes_garage_Boston.pdf
    3 dakota_race_track_sale.pdf
    

Пока что этот результат в порядке, но, как я уже упоминал, принимая этот код в Shiny, он ничего не возвращает. Позвольте мне показать вам, что я имею в виду в следующем разделе.

Показать блестящий код:

Вот блестящий код. Когда я запускаю приведенный ниже код, он возвращает следующее: [1] pdf_name <0 row> (или 0-length row.names)

# Shiny Code:
ui <- fluidPage(
            textInput(inputId="directory",label="Enter path to documents"),
            textInput(inputId="words",label="Enter keywords"),
            actionButton(inputId="go",label="Search for documents"),
            hr(),
            verbatimTextOutput("res")
)

server <- function(input,output){
      docs <- eventReactive(input$go,{ 
                                      keyword_directory(input$directory, 
                                                  keyword = c(input$words), 
                                                  ignore_case = TRUE,
                                                  recursive = TRUE,
                                                  split_pdf = TRUE, 
                                                  full_names = TRUE)
                            })
      output$res <- renderPrint({
                                print(unique(docs()[2]))
                                })
}

shinyApp(ui=ui,server=server)

Итак, я не уверен, почему это происходит. Я использую ту же папку и то же ключевое слово. Еще одна вещь, на которую стоит обратить внимание, это то, что когда я запускаю приложение, оно вообще не выдает ошибки. Я ожидаю список, подобный тому, который я показал на шаге 2 выше.

Любые рекомендации, альтернативные решения, советы и т. Д. c ... приветствуются. Я новичок в Shiny и хотел бы найти лучшее и наиболее эффективное решение этой проблемы.

Большое спасибо!

1 Ответ

0 голосов
/ 06 января 2020

Проблема решена! Вот как я заставил приложение работать: я ввел путь к документам следующим образом: ~ / R / pdf_files Наконец, я ввел ключевое слово так: chevy

Без кавычек.

Большое спасибо за чтение моего поста!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...