Как щелкнуть строку таблицы, содержащую файлы CSV, и отобразить второй тип данных? - PullRequest
0 голосов
/ 23 апреля 2019

Мне не удалось создать выпадающий селектор, чтобы выбрать один элемент, который представляет собой список файлов 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 в таблицу данных.

...