将过滤器设置为ALL

时间:2018-02-09 17:23:44

标签: r dplyr

我正在使用一个用户表单,他们的输入产生两个参数的过滤函数:数据帧和过滤器定义。 通常我需要忽略该过滤器,但我必须强制通过用户表单。 我可以指定什么填充来获取数据帧的所有行?

<label class=“ml-auto”>

2 个答案:

答案 0 :(得分:3)

您可以使用TRUE作为过滤器:

my_filter <- TRUE
a <- data.frame(f1 = 1:10, f2 = 11:12)
a <- subset(a, my_filter)

替代方法:

a <- data.frame(f1 = 1:10, f2 = 11:12)
filter_by_f2 <- function (a, filterlist) {
   filter(a,f2 %in% filterlist)
}

filter_by_f2(a, a$f2)

答案 1 :(得分:1)

您可以通过在“!”之前添加逻辑操作来使用“not in”构造。

filter(a, !(f2 %in% NULL) )
   f1 f2
1   1 11
2   2 12
3   3 11
4   4 12
5   5 11
6   6 12
7   7 11
8   8 12
9   9 11
10 10 12