[英]Shiny Reactive materialSwitch dplyr filter
我正在尝试使用shinyWidgets
的materialSwitch
来控制 dplyr 过滤器,该过滤器使用grepl
捕获特定列中的文本。
目前我的代码如下所示:
pickerInput(
inputId = "status",
label = "Status:",
choices = sort(unique(df$STATUS)),
selected = unique(df$STATUS))
materialSwitch(
inputId = "switch",
label = "TEXT",
value = FALSE,
status = "primary"
)
filtered_data <-
reactive ({
req(input$status,
input$switch)
ready_for_reg %>%
filter(STATUS %in% input$status) %>%
filter(if(input$switch == TRUE) grepl("TEST",COL1) else TRUE )
})
DT::renderDataTable(datatable(filtered_data())
单击开关并将其设置为 TRUE 时,此代码有效。 但是,当它处于默认状态 FALSE 时,表格根本不会显示。 如何确保filtered_date()
变量在未单击按钮时显示所有数据?
req(FALSE)
停止事件,因此当开关为 FALSE 时req(input$status,input$switch)
停止事件。
这就是为什么你没有结果。
要修复它,请更改为req(input$status)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.