相关疑难解决方法(0)

从数据帧中成对重复删除

这似乎是一个简单的问题,但我似乎无法弄明白.如果两列具有相同的值,我想从数据帧(df)中删除重复项,即使这些值的顺序相反.我的意思是,说你有以下数据框:

a <- c(rep("A", 3), rep("B", 3), rep("C",2))
b <- c('A','B','B','C','A','A','B','B')
df <-data.frame(a,b)

  a b
1 A A
2 A B
3 A B
4 B C
5 B A
6 B A
7 C B
8 C B
Run Code Online (Sandbox Code Playgroud)

如果我现在删除重复项,我会得到以下数据框:

df[duplicated(df),]

  a b
3 A B
6 B A
8 C B
Run Code Online (Sandbox Code Playgroud)

但是,我还想删除该数据帧中的第6行,因为"A","B"与"B","A"相同.我该如何自动执行此操作?

理想情况下,我可以指定要比较哪两列,因为数据帧可能具有不同的列,并且可能非常大.

谢谢!

r duplicates dataframe

9
推荐指数
2
解决办法
6295
查看次数

data.table包含两个字符串的set元素列,提取每行未排序的唯一行

假设我有一个像这样的data.table:

表:

V1 V2
 A  B
 C  D
 C  A
 B  A
 D  C
Run Code Online (Sandbox Code Playgroud)

我想将每一行视为一组,这意味着BA和AB是相同的.所以在这个过程之后,我想得到:

V1 V2
 A  B
 C  D
 C  A
Run Code Online (Sandbox Code Playgroud)

为了做到这一点,我必须先逐行对表进行排序,然后使用unique删除重复项.如果我有数百万行,排序过程非常慢.那么有没有一种简单的方法来删除重复项而不进行排序?

r unique set duplicates data.table

7
推荐指数
1
解决办法
1143
查看次数

标签 统计

duplicates ×2

r ×2

data.table ×1

dataframe ×1

set ×1

unique ×1