在 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)
在我的数据框“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)