r-在Shiny中基于用户输入的过滤不起作用



这里是Shiny的新手。这是一个非常简单的模式。但它不起作用,也没有显示任何错误。

当我使用子集函数时也会得到同样的结果。

这是我的代码:

library(shiny)
library(dplyr)
# Define UI for application that draws a histogram
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectInput("variable", "Variable:",colnames(iris))
),
mainPanel(
tableOutput("table")
)
)
)
server <- function(input, output) {
output$table <- renderTable({

iris %>% dplyr::filter(input$variable>=5)


})
}
# Run the application 
shinyApp(ui = ui, server = server)

input$variable是一个字符,您可以在此处使用.data代词将其用作列值。

library(dplyr)
library(shiny)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
varSelectInput("variable", "Variable:",iris)
),
mainPanel(
tableOutput("table")
)
)
)
server <- function(input, output) {
output$table <- renderTable({
iris %>% dplyr::filter(.data[[input$variable]]>=5)
})
}
# Run the application 
shinyApp(ui = ui, server = server)

最新更新