在R Shiny中,您可以使用observeEvent
函数来定义一个观察器,以便在输入(变量)或输入(值)发生更改时触发相应的操作。以下是一个包含代码示例的解决方法:
library(shiny)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectInput("variable", "选择变量", choices = c("A", "B")),
numericInput("value", "输入值", value = 0)
),
mainPanel(
tableOutput("table")
)
)
)
server <- function(input, output) {
# 定义观察器,观察输入(变量)和输入(值)的变化
observeEvent(c(input$variable, input$value), {
# 根据输入(变量)和输入(值)进行分组操作
grouped_data <- iris %>%
group_by(!!sym(input$variable)) %>%
filter(Sepal.Length > input$value) %>%
summarise(mean = mean(Sepal.Length))
# 输出结果
output$table <- renderTable(grouped_data)
})
}
shinyApp(ui, server)
在上面的示例中,我们创建了一个简单的Shiny应用程序,其中包含一个选择变量的下拉列表和一个输入值的数值输入框。当用户更改输入(变量)或输入(值)时,观察器将触发,并根据输入(变量)和输入(值)对iris
数据集进行分组操作。然后,将分组后的数据集输出到一个表格中。
请注意,上述示例中使用了dplyr
包中的函数来进行数据操作。您需要在加载Shiny应用程序之前安装并加载dplyr
包。
上一篇:按输入日期过滤的SQL
下一篇:按属性标题过滤的数据表