如何根据两列的组合删除重复项

时间:2018-05-01 13:33:21

标签: r

我有一个如下的数据框。

df = expand.grid(A = c('a', 'b', 'c', 'd'),
                B = c('a', 'b', 'c', 'd'))


A   B
a   a           
b   a           
c   a           
d   a           
a   b           
b   b           
c   b           
d   b           
a   c           
b   c

我需要做的是根据两个列值的COMBINATION删除重复项。例如,当row1是' a'' b'而row2是' b',' a'。它们被视为重复。我需要删除其中一个。删除两列的重复项很容易。但在这种情况下,如何根据组合删除重复项?我无法弄清楚如何。非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以将duplicatedapply sort

一起使用
df[!duplicated(data.frame(t(apply(df,1,sort)))),]
   A B
1  a a
3  c a
5  a b
7  c b
9  a c
11 c c
13 a d
15 c d