根据Col Y中的条件从Col X中删除重复项

时间:2019-04-23 05:34:28

标签: r dataframe duplicates

我在R中有一个数据框,其中的一列中有重复项,但是我只想根据另一列中的说明删除重复项。

例如:

DF:

X    J    Y
1    2    3
2    3    1
1    3    2

我要删除行,其中X是重复的,= 3

DF:

X    J    Y
2    3    1
1    3    2

我尝试阅读dplyr,但到目前为止,仍无法获得理想的结果。

1 个答案:

答案 0 :(得分:2)

我们可以使用duplicated和等于运算符

来创建条件
subset(df1, !((duplicated(X)|duplicated(X, fromLast = TRUE)) & Y == 3))
#  X J Y
#2 2 3 1
#3 1 3 2

如果如果“ Y”的值为3,则需要删除“ X”的整个行组,则

library(dplyr)
df1t %>% 
     group_by(X) %>%
     filter(! 3 %in% Y) #or
     # filter(all(Y != 3))