【问题标题】:ggvis filter based on values in multiple columnsggvis 基于多列中的值进行过滤
【发布时间】:2015-11-11 16:12:00
【问题描述】:

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

非常感谢!

【问题讨论】:

  • data[,1] 是否会针对 uf 进行检查,data[,2] 是否针对 uf1 等等?
  • 是的,很抱歉我应该澄清这一点。 uf、uf1 和 uf2 具有这些列中的所有独特因子。

标签: r ggvis


【解决方案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]]))

【讨论】:

  • 谢谢!我之前尝试过,但无法让它工作,但当工作变得不那么忙碌时,我又尝试了一次,现在它正在工作:)
  • 很高兴它成功了 :) 非常欢迎您!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-21
  • 1970-01-01
相关资源
最近更新 更多