【发布时间】:2021-07-27 00:01:04
【问题描述】:
我正在尝试过滤掉仅在单个列中出现的行,并仅显示出现在多个列中的行。
一个示例数据库:
| col1 | col2 | col3 | col4 | col5 | col6 | col7 | |
|---|---|---|---|---|---|---|---|
| row1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| row2 | 6 | 0 | 42 | 0 | 0 | 0 | 0 |
| row3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| row4 | 0 | 0 | 0 | 0 | 0 | 0 | 87 |
在这种情况下,我希望我的过滤器只返回 row2 和 row3。我一直在尝试使用 dplyr 和过滤器功能;虽然我还没有找到捕获所有 7 列的方法。我无法使用rowSums(),因为在这种情况下实际值并不重要,只有另一列旁边的频率才重要。
到目前为止,我只准确地捕获了我在专门比较两列的值 >0 时要查找的输出:
mydata.df %>%
filter(col1>0 & col2>0)
虽然很容易看出为什么这种方法不可行,尤其是要比较 7 列。我尝试将多个条件串起来以在多个列之间进行比较,但没有成功。没有为每个列组合单独编写一个单独的过滤器,我确定我错过了一个明显而简单的解决方案?
【问题讨论】:
标签: r