我正在尝试创建一个Shiny应用程序,它将显示表的所有行,或者允许用户选择行的子集。最终会有多个下拉菜单,但是现在我只是试图让一个工作完成。
由于某种原因,应用程序找不到filter()语句中的Status。这可能与下拉菜单中没有选择任何内容时允许显示所有行的问题分开。
非常感谢任何帮助或示例链接。
library(shiny)
ui <- fluidPage(
titlePanel("Products"),
sidebarLayout(
sidebarPanel(
uiOutput("statusOutput"),
sliderInput("modelInput","Model Number", 0,200,c(100,200))
),
mainPanel(
tableOutput("results")
)
)
)
server <- function(input, output) {
output$statusOutput <- renderUI({
selectInput("statusInput","Status",
sort(unique(Product_List$Status)))
})
filtered <- reactive ({
if (is.null (input$statusInput)) {
return(NULL)
}
Product_List %>%
filter(Status == input$statusInput )
})
output$results<-renderTable({
filtered()
})
}
shinyApp(ui = ui, server = server)
答案 0 :(得分:0)
您的代码看起来没问题,过滤器也按预期工作。尝试使用
运行代码String timestamp = "";
下面的代码是您描述的所需行为的示例,如果用户未提供任何输入,则选择所有行,否则将过滤数据帧。我希望这有帮助!
Product_List = data.frame(Status=c(1,2,3,4,5))