ggvis过滤器基于多列中的值

ggvis filter based on values in multiple columns

当我需要按列过滤时,我发现 ggvis 非常棒,而且效果很好(uf 指的是该列的独特因素):

filter(data$Life.stage %in% eval(input_checkboxgroup(uf), selected = uf[[1]])))

但是,我一直在尝试按 3 个不同列中的值进行过滤,我想知道这是否可行?如果我尝试做这样的事情,那是行不通的。

filter(data$[,1:3] %in% eval(input_checkboxgroup(c(uf, uf1, uf2), selected = uf[[1]])))

非常感谢!

我不知道你的数据集是什么样的,我无法测试代码,因为你没有提供可重现的例子,但如果你想对照其他列检查多列,你需要使用 & 操作员。因此,您的 filter 函数应如下所示:

#this compares first column of data against uf and second column of data
#against uf1 and so on..
filter(data[[1]] %in% eval(input_checkboxgroup(uf)  , selected =  uf[[1]]) & 
       data[[2]] %in% eval(input_checkboxgroup(uf1) , selected = uf1[[1]]) &
       data[[3]] %in% eval(input_checkboxgroup(uf2) , selected = uf2[[1]]))