我有一个 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语句?
答案 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
的精彩常见问题解答。