如何在Shiny中的SelectInput中使用多个数字

时间:2018-05-11 23:10:36

标签: r filter datatable shiny dplyr

我对Shiny和SelectInput函数有疑问。这是我现在的选择输入:

 selectInput("top1", label = h3("TOP500"),
                     c("TRUE" = 1,
                       "FALSE" = 0,
                       "BOTH" = 0|1), selected = 0)

我将它用于以下功能:

filter(sales_category_id == input$top1)

这是一个由dplyr变异的表,最后我想在sales_category_id 0,1或两者之间做出选择。

有人可以帮帮我吗?这不起作用,我尝试的一切都没有给我正确的结果。

顺便提一下第一个问题,如果我写了一些不清楚的东西请告诉我:)

编辑:

由于id只能是0或1,我这样修复:

selectInput("top1", label = h3("TOP500"),
                     c("TRUE" = 0,
                       "FALSE" = 1,
                       "BOTH" = 2), selected = 0)

filter(sales_category_id != input$top1

我仍然对答案感兴趣。

1 个答案:

答案 0 :(得分:0)

                        selectInput("top1", label = h5("TOP500"),
                     c("TRUE" = 1,
                       "FALSE" = 0,
                       "BOTH" = "BOTH"), selected = "BOTH") 

    filter(if (input$top1 == 1) sales_category_id %in% 1 
           else if (input$top1 == 0) sales_category_id %in% 0 
           else sales_category_id %in% c(0:100)) %>%

这是我最终的最佳解决方案:)