如何在 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.