如何删除重复的行并根据 R 数据框的数字列进行排序?

如果我们在 R 数据框中有重复的行,那么我们可以通过使用带有数据框对象名称的唯一函数来删除它们。如果我们想根据数字列对具有重复行的数据框进行排序,那么首先应该找到唯一的行,然后可以使用 order 函数进行排序,如下例所示。

示例

考虑以下数据框 -

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

猜你喜欢