r - ggvis 基于多列中的值进行过滤

标签 r ggvis

当我需要按列进行过滤时,我发现 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/

相关文章:

r - 动态更新 ggvis Shiny 的用户输入?

r - 一种将不同长度的命名向量合并到 R 中的数据框(将名称信息保留为列名)的快速方法

r - 获取 "mlm"返回的 `lm()`对象的残差标准错误

r - 如何用边框填充geom_point只有一种颜色?

r - 如何通过 R 中的附加因子变量为树状图的标签着色

r - ggvis 将 ":= "与 data.table 结合使用

使用 ggvis 的 R markdown 返回错误 : could not find function "knit_print"

r - 将一个字符串列拆分为几个虚拟变量

r - 在ggvis中绘制堆积面积图的正确方法是什么?

r - 在 Rnw 中使用 ggvis 和 knitr