Отображение входного файла пользователем в R shiny

#r #shiny

#r #блестящий

Вопрос:

Я могу создать структуру для приема входных данных от пользователя, используя опцию fileInput. Я хочу просмотреть тот же файл, что и выходные данные.

 library(shiny)

ui<-fluidPage(


fileInput(inputId = "ABC", label="Input File", multiple = FALSE, accept = NULL,
        width = NULL, buttonLabel = "Browse...",
        placeholder = "No file selected"),



dataTableOutput('XX')

)


server<-function(input, output){

output$XX<-renderDataTable(ABC)
#output$XX<-renderDataTable(iris_2)  


}


shinyApp(ui, server)
  

Комментарии:

1. смотрите пример в ?fileInput

Ответ №1:

В серверной части приложения измените вывод на:

 output$XX<-renderDataTable(input$ABC)
  

Таким образом, функция знает, какой ввод она должна использовать.

Комментарии:

1. Это не сработает. input$ABC это не таблица. Перед этим нужно прочитать файл.

Ответ №2:

Решение с actionButton и observeEvent контролем.

 library(shiny)
library(DT)

ui <- fluidPage(
    fileInput(inputId = "ABC", label = "Input File", multiple = FALSE, accept = NULL,
                width = NULL, buttonLabel = "Browse...",
                placeholder = "No file selected"),

    actionButton(inputId = "submit", label = "Submit"),
    dataTableOutput("XX")
  )

server <- function(input, output) {
  observeEvent( input$submit, {
      data <- read.csv(input$ABC$datapath, header = TRUE, sep = ",")

      output$XX <- renderDataTable({
        datatable(data)
      })
    })
}
shinyApp(ui, server)