R/Shiny:使用上传文件中的 Headers 填充 SelectInput 选项

R/Shiny: Populate SelectInput Options using Headers From Uploaded File

我正在尝试使用 R Shiny 构建一个页面,该页面具有:

我想按如下方式使用它们:

到目前为止,我已经尝试了各种形式的 observe()observeEvent(),但都没有成功。如果您有任何建议,那就太好了。

这里有一个选项-

library(shiny)

#Sample data
#write.csv(mtcars, 'data.csv', row.names = FALSE)

ui <- fluidPage(
  fileInput('file', 'Upload csv file'),
  uiOutput('dropdown')
)

server <- function(input, output) {
  data <- reactive({
    req(input$file)
    read.csv(input$file$datapath)
  })
  
  output$dropdown <- renderUI({
    req(data())
    selectInput('cols', 'Select Column', names(data()))
  })
}


shinyApp(ui, server)