筛选出多个条件的data.frame而不将其写出

问题描述

如何在没有实际写出的情况下通过多个条件有效地过滤data.frame

为更清楚起见,让我们看下面一个小的简化示例,其中我们希望提取1到100之间介于1和2或4和6或60和65之间的所有整数:>

df <- data.frame(number = 1:100,someothermeasure = rnorm(100))
filters <- matrix(c(1,2,4,6,60,65),ncol = 2,byrow = T)

我希望获得与以下相同的结果,但不手工列出各个条件:

dplyr::filter(df,(number >= filters[1,1] & number <= filters[1,2])|(number >= filters[2,1] & number <= filters[2,2])|(number >= filters[3,1] & number <= filters[3,2]))

只有当一个人需要过滤的条件很少时,才可以写出来。但是,当过滤条件dim(filters)[1]例如等于10000时该怎么办?如何处理这种情况?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)