问题描述
如何在没有实际写出的情况下通过多个条件有效地过滤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 (将#修改为@)