未知的条件数''声明

时间:2016-04-03 19:39:35

标签: r shiny conditional

我有一个 selectInput ,允许用户选择多个国家/地区。我希望得到这些国家并从中创建数据。

就像那样:

data_multicountry<-data[which(data$Country==input$countryInput[1] |
                              data$Country==input$countryInput[2] |
                              data$Country==input$countryInput[3]),]

但条件可能或多或少。例如;

data_multicountry<-data[which(data$Country==input$countryInput[1] |
                              data$Country==input$countryInput[2] |
                              data$Country==input$countryInput[3] |
                              data$Country==input$countryInput[4] ),]

我可以获得所选国家/地区列表的长度。 如何以编程方式添加OR语句?

1 个答案:

答案 0 :(得分:0)

使用data.table这实际上是一件非常简单的事情。首先,您不需要在条件中指定数据集的名称。 data.table已经知道您正在使用表,因此只需要变量名称。其次,您可以创建另一个变量或列表,用于存储用户选择的所有国家/地区,然后将该变量用作选择的条件。请参考下面的示例。

> DT = data.table(var1=c('a', 'b', 'c', 'd'), var2=c(1,2,3,4))
> DT
   var1 var2
1:    a    1
2:    b    2
3:    c    3
4:    d    4
> lst=list('a','d')
> DT[var1 %in% lst,]
   var1 var2
1:    a    1
2:    d    4

Here是关于data.table的精彩常见问题解答。