我在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
,但到目前为止,仍无法获得理想的结果。
答案 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))