当我需要按列进行过滤时,我发现 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]]))
关于r - ggvis 基于多列中的值进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33654818/