如果存在两列,如何删除R数据框中的重复行?

如果在一列中重复两个值,则意味着该列中有许多相同的值,但是如果这些值在列中以及行中重复,则将它们称为两列中的重复行。要删除R数据框中的重复行(如果存在两列),我们可以使用重复函数,如以下示例所示。

考虑以下数据帧-

示例

x1<-sample(LETTERS[1:4],20,replace=TRUE)

x2<-sample(LETTERS[1:4],20,replace=TRUE)

df1<-data.frame(x1,x2)

df1

输出结果
   x1  x2

1  B   B

2  C   D

3  A   A

4  C   D

5  B   C

6  D   D

7  D   A

8  A   B

9  B   A

10 D   B

11 A   B

12 B   B

13 D   A

14 A   C

15 C   A

16 A   B

17 A   B

18 A   C

19 D   A

20 B   B

删除重复的行(如果存在于df1的两列中)-

示例

df1[!duplicated(df1[c("x1","x2")]),]
输出结果
   x1 x2

1  B  B

2  C  D

3  A  A

5  B  C

6  D  D

7  D  A

8  A  B

9  B  A

10 D  B

14 A  C

15 C  A

示例

y1<-rpois(20,1)

y2<-rpois(20,1)

y3<-rpois(20,1)

df2<-data.frame(y1,y2,y3)

df2

输出结果
   y1 y2 y3

1  0  2  1

2  1  1  0

3  0  1  0

4  0  2  2

5  0  2  0

6  0  0  1

7  0  0  0

8  1  0  1

9  3  0  0

10 0  2  0

11 0  2  1

12 1  2  1

13 0  0  1

14 2  2  0

15 3  3  3

16 0  1  1

17 0  0  1

18 1  0  0

19 0  1  1

20 0  1  3

删除重复的行(如果存在于df2的两列中)-

示例

df2[!duplicated(df2[c("y1","y2")]),]
输出结果
   y1 y2 y3

1  0  2  1

2  1  1  0

3  0  1  0

6  0  0  1

8  1  0  1

9  3  0  0

12 1  2  1

14 2  2  0

15 3  3  3

以上是 如果存在两列,如何删除R数据框中的重复行? 的全部内容, 来源链接: utcz.com/z/356485.html

回到顶部