r语言 - Dplyr滤波器,选择输入,选择所有条件为闪亮



我将市场列下的每个唯一值保存到一个变量中,该变量作为选项保存到下拉菜单中。当观众在闪亮的市场中选择一个市场时,他/她将看到过滤到所选市场的数据。我正在尝试将一个空白选项合并到我的 dplyr 表达式中,以允许查看者查看整个数据集,而无需按市场进行任何过滤。但是,我构建闪亮应用程序的方式似乎需要选择一个市场才能使其正常工作。

我很好奇是否有更简单的方法来添加空白选项,因此如果观众根本不想按市场过滤,它会显示整个 df?

下面的代码显示了我到目前为止所拥有的。

market_choices <- c("north","south","east","west")
selectInput(inputId = "mkt", 
label = "Select Market", 
choices = market_choices, 
selected = "east"))
test <- reactive({df %>% filter(Market == input$mkt)})

您可以在market_choices中包含all选项,然后将过滤器表达式放在条件语句中:

market_choices <- c("north","south","east","west", 'all')
...
test <- reactive({if(input$mkt == 'all') {
df
} else {
df %>% filter(Market == input$mkt)
}})

最新更新