在 Shiny 中过滤 Reactive table

Filtering a Reactive table in Shiny

在我的数据框“df”中,我有一个名为“currentABC”的列,它有几个唯一的字符类型值。在我闪亮的模型中,我想在侧边栏面板中选择这些唯一值之一,而在我的反应式 table 中,只有“currentABC”与所选输入值匹配的行显示在table。下面不是我的全部代码,而是我认为是问题所在的片段。目前我收到一条错误消息,上面写着

“在为函数 'filter' 选择方法时评估参数 'condition' 时出错:在为函数“%in%”选择方法时评估参数 'x' 时出错:找不到对象 'currentVOI'"

谢谢!

ui <- fluidPage(
  titlePanel("title"),
  sidebarLayout(
    sidebarPanel(
      selectInput(inputId = "CurrentABC",  
      label = "1. Select ABC",  
      choices = unique(df$currentVOI), selected = "123"), 





 server <- function(input, output, session) { 

table <- reactive({
  df %>% filter(currentABC == input$CurrentABC)
})
                                   
                                   
output$mytable <- renderTable({
  table()
})
 
                                   
} 

这是一个 iris 数据集示例,您可以如何操作: 在服务器部分你可以测试两个选项(第一个被注释掉)来测试只是注释掉服务器部分中的其他代码:

library(shiny)
library(dplyr)

# Define UI
ui <- fluidPage(
  # Application title
  titlePanel("Filter by Species"),
  
  sidebarLayout(# Sidebar with a slider input
    sidebarPanel(
      selectInput("species", "Species",
                  choices = levels(iris$Species)
                  )
      ),
      
      # Show a plot of the generated distribution
      mainPanel(tableOutput("my_table")
                )
    )
  )

server <- function(input, output) {
  
  # output$my_table <- renderTable({
  #   subset(iris, Species == input$species)
  # })
  
  table <- reactive({
    iris %>% 
      filter(Species == input$species)
  })
  
  output$my_table <- renderTable({
    table()
  })
  
}

shinyApp(ui, server)