【发布时间】:2020-06-16 15:25:05
【问题描述】:
您好,我有一个 df,例如:
Groups COL2 COL3
G1 2 8
G1 3 4
G1 0 3
G2 1 3
G2 9 4
G3 3 89
G3 3 5
G4 1 7
G4 2 3
如果至少有一行满足以下两个条件,我只想选择组:COL2 < 3 和 COL3 > 5。因此在这里我将只选择组G1 和G4。
Groups COL2 COL3
G1 2 8
G1 3 4
G1 0 3
G4 1 7
G4 2 3
我试过了:
df%>%
group_by(Groups) %>%
filter(any(COL2 <3) & any(COL3 >5)) %>%
【问题讨论】:
-
在此示例中,您没有名为
COL1的列,但如果您将filter代码更改为正确的列名称,它看起来会提供所需的输出。 -
我编辑过,是的,但是放 any 并不意味着它会在列中取任何值?
-
它将考虑组内的任何值。这就是它排除 G2 和 G3 组的原因
-
哦,你的意思是要同时满足两个条件的一行,然后再考虑其对应的组?