使用Rshiny中的checkboxgroupinput动态过滤

时间:2016-03-01 23:12:29

标签: r shiny

所以我有一些看起来像这样的数据:

lat         long            group
40.75482559 -73.84514618    One
40.75759888 -73.84442902    Two
40.75468826 -73.84588623    One
40.82676315 -73.92416382    One
40.82736206 -73.92511749    Two
40.787167   -73.977325      Two
40.82994843 -73.92955017    Two
40.75819016 -73.844841      One
40.82663345 -73.92651367    Two

我正试图通过他们的小组动态显示拉长点。

在我的ui.R代码中,我有:

  checkboxGroupInput("group", 
                     label = h3("Checkbox group"), 
                     choices = list('One' = 1, 
                                    'Two' = 2) 
                     ))

在我的server.R代码中,我有:

  filteredData <- reactive({ 
    df <- randomtaxi[randomtaxi$group == "One",] 
    return(df)
  })

哪个工作正常。但是,当我尝试添加像

这样的东西时
    df <- randomtaxi[randomtaxi$group == input$group,] 

它崩溃了。我也尝试过这样的事情:

if (input$team == 1){
    df <- filter(df, group == "One")

if (input$team == "One"){
    df <- filter(df, group == "One")

但我似乎无法让它发挥作用。如何使用RShiny中的CheckboxGroupInput动态分配数据?

1 个答案:

答案 0 :(得分:1)

我认为您的choices需要是一个向量,而不是列表

checkboxGroupInput("group", 
               label = h3("Checkbox group"), 
               choices = c('One' = 1, 
                           'Two' = 2) 
               ))

然后,您需要分别将12转换为"One""Two",以便您的过滤器/子集条件能够正常工作。