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

  • 本文关键字:组合 删除 两列 何根 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

我需要做的是根据两个列值的组合删除重复项。例如,当 row1 是 'a', 'b' 和 row2 是 'b', 'a' 时。它们被视为重复项。我需要删除其中一个。删除两列的重复项很容易。但是在这种情况下,如何根据它们的组合删除重复项?我不知道怎么做。提前非常感谢。

您可以将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

最新更新