我希望能够根据用户提供的.csv文件,根据对列中的值进行过滤来更新我的表.下面的代码可以正确填充我的字段,但过滤功能无法正常工作,因为它会重新更新流并取消我对值的任何 Select .
ui <- fluidPage(
fileInput("data", "Load Data", accept = ".csv"),
selectInput("column", "Column", character()),
selectInput("level", "level", "select"),
dataTableOutput("table")
)
server <- function(input, output, session){
options(shiny.maxRequestSize=1000*1024^2)
data <- reactive({
req(input$data)
read.csv(input$data$datapath)
})
observeEvent(data(), {
updateSelectInput(session, "column", choices = names(data()))
})
observeEvent(input$column, {
val <- data()[[input$column]]
updateSelectInput(session, "level", choices = val,
label = paste("Choose level in", input$column))
})
output$table <- renderDataTable({
req(input$level)
filter(data(), input$level == input$level)
})
}
shinyApp(ui = ui, server = server)
我还try 了dplyr过滤解决方案,
filter(input$value == input$value)
但出于同样的原因,这也不起作用.我对Shiny比较陌生,因此非常感谢您提供的任何帮助和资源.