Мне не удалось создать выпадающий селектор, чтобы выбрать один элемент, который представляет собой список файлов CSV, затем загрузить и вывести выбор в таблицу данных.
Как бы я связал Выбор папки, чтобы заполнить раскрывающийся список выбора ввода?
После выбора как загрузить и вывести в таблицу данных?
Я попытался создать выпадающий список выбора ввода, который зависит от предыдущего выбора ввода, но не смог понять, как включить пример. https://sites.temple.edu/psmgis/2017/07/26/r-shiny-task-create-an-input-select-box-that-is-dependent-on-a-previous-input-choice/
## ui.R ##
library(shiny)
library(DT)
#REF: https://stackoverflow.com/questions/39196743/interactive-directory-input-in-shiny-app-r
shinyUI(tagList(
fluidPage(
theme = "bootstrap.css",
includeScript("./www/text.js"),
titlePanel("Folder content upload"),
fluidRow(column(
12,
wellPanel(
tags$div(
class = "form-group shiny-input-container",
tags$div(tags$label("File input")),
tags$div(
tags$label(
"Choose folder",
class = "btn btn-primary",
tags$input(
id = "fileIn",
webkitdirectory = TRUE,
type = "file",
style = "display: none;",
onchange = "pressed()"
)
)
),
tags$label("No folder choosen", id = "noFile"),
tags$div(
id = "fileIn_progress",
class = "progress progress-striped active shiny-file-input-progress",
tags$div(class = "progress-bar")
)
),
verbatimTextOutput("results")
)
),
column(12, div(
DT::dataTableOutput("tbl2")
)))
),
HTML(
"<script type='text/javascript' src='getFolders.js'></script>"
)
))
## server.R ##
library(shiny)
library(ggplot2)
library(DT)
shinyServer(function(input, output, session) {
df <- reactive({
inFiles <- input$fileIn
df <- data.frame()
if (is.null(inFiles))
return(NULL)
for (i in seq_along(inFiles$datapath)) {
tmp <- read.csv(inFiles$datapath[i], header = FALSE)
df <- rbind(df, tmp)
}
df
})
output$tbl2 <- DT::renderDataTable({
input$fileIn
})
})
В надежде включить
htmlOutput("")
в пользовательском интерфейсе для заполнения раскрывающегося входа селектора.
Надеемся включить выходные данные для этого селектора в server.R, как показано в примере с URL, или, если есть лучшее решение.
Конечный результат:
1. Заполните раскрывающийся вход селектора из ранее выбранных данных.
2. Перечислите выбранный файл CSV в таблицу данных.