Проблема: идея состоит в том, чтобы создать приложение R Shiny для выбора документов из каталога, в которых есть интересующее слово. Итак, скажем, например, мне интересно выбрать все документы, содержащие слово «Chevy», а затем создать список всех имен документов, которые соответствуют этому требованию, для отображения в качестве окончательного результата.
Что я пробовал? В мо 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 и хотел бы найти лучшее и наиболее эффективное решение этой проблемы.
Большое спасибо!