如何在 R 数据框中删除重复行并根据数值列排序?


如果 R 数据框中存在重复行,我们可以使用唯一的函数和数据框对象名称来删除它们。如果我们想根据数值列对包含重复行的数据框进行排序,则首先应该找到唯一行,然后可以使用排序函数进行排序,如下面的示例所示。

示例

考虑以下数据框 -

 在线演示

x1<-rep(c(2,7,1,5),5)
x2<-rep(LETTERS[1:4],5)
df1<-data.frame(x1,x2)
df1

输出

  x1 x2
1  2 A
2  7 B
3  1 C
4  5 D
5  2 A
6  7 B
7  1 C
8  5 D
9  2 A
10 7 B
11 1 C
12 5 D
13 2 A
14 7 B
15 1 C
16 5 D
17 2 A
18 7 B
19 1 C
20 5 D

查找 df1 的唯一行 -

示例

df1<-unique(df1)
df1

输出

 x1 x2
1 2 A
2 7 B
3 1 C
4 5 D

根据 x1 对 df1 进行排序 -

示例

df1[order(df1$x1),]

输出

 x1 x2
3 1 C
1 2 A
4 5 D
2 7 B

示例

 在线演示

y1<-rep(c(501,278,357,615),5)
y2<-rep(c("G1","G2","G3","G4"),5)
df2<-data.frame(y1,y2)
df2

输出

    y1 y2
1  501 G1
2  278 G2
3  357 G3
4  615 G4
5  501 G1
6  278 G2
7  357 G3
8  615 G4
9  501 G1
10 278 G2
11 357 G3
12 615 G4
13 501 G1
14 278 G2
15 357 G3
16 615 G4
17 501 G1
18 278 G2
19 357 G3
20 615 G4

查找 df2 的唯一行 -

示例

df2<-unique(df2)
df2

输出

   y1 y2
1 501 G1
2 278 G2
3 357 G3
4 615 G4

根据 y1 对 df2 进行排序 -

示例

df2[order(df2$y1),]

输出

   y1 y2
2 278 G2
3 357 G3
1 501 G1
4 615 G4

更新于: 2020-12-07

605 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.