删除R中的重复行数据框

机器算法验证 r
2022-01-25 01:38:09

如何从此示例数据框中删除重复行?

A   1
A   1
A   2
B   4  
B   1
B   1
C   2
C   2

我想根据两列删除重复项:

A   1
A   2
B   4
B   1
C   2

顺序并不重要。

2个回答

unique()确实回答了您的问题,但实现相同目的的另一个相关且有趣的功能是duplicated().

它使您可以查找重复的行。

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

duplicated(df)
[1] FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE

> df[duplicated(df), ]
  a b
2 A 1
6 B 1
8 C 2

> df[!duplicated(df), ]
  a b
1 A 1
3 A 2
4 B 4
5 B 1
7 C 2

您正在寻找unique().

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

> unique(df)
  a b
1 A 1
3 A 2
4 B 4
5 B 1
7 C 2