如何在 R 資料框中改變行順序?


要更改 R 資料框中的行順序,我們可以使用一個方括號,並在第一位提供行順序。

例如,如果我們有一個名為 df 的資料框包含 10 行,那麼我們可以使用以下命令更改行順序:

df[c(6:8,2,5,9,10,1,3:4),]

檢視以下示例來理解它的工作原理。

示例 1

以下程式碼段建立了一個示例資料框:

x1<-rnorm(20,2)
x2<-rnorm(20,2)
df1<-data.frame(x1,x2)
df1

建立了以下資料框:

       x1        x2
1   3.0461851  1.8743169
2   0.9453059  3.8422947
3   2.4122103  2.5408842
4   1.3128584  1.1767217
5   3.4074574  1.9252181
6   1.9481946  3.6743418
7   0.3099514  1.1913972
8   3.3114028  2.3571951
9   3.3503635  2.3842746
10  1.0158586  1.5063259
11  1.3298287  1.4684843
12  2.6752537  1.9683690
13  1.1291064  2.4145713
14 -0.2177409  2.0065808
15  2.4812767  3.1936923
16  3.1920233  1.2045429
17  0.3469155  2.5212239
18  2.6807522  1.7309279
19  2.4361746  2.7317351
20  1.7637194  0.2819075

要更改 df1 中行的順序,將以下程式碼新增到上述程式碼段中:

x1<-rnorm(20,2)
x2<-rnorm(20,2)
df1<-data.frame(x1,x2)
df1[c(10:1,20:11),]

輸出

如果你將上述所有程式碼段作為一個程式執行,將會生成以下輸出:

          x1     x2
10  1.0158586  1.5063259
9   3.3503635  2.3842746
8   3.3114028  2.3571951
7   0.3099514  1.1913972
6   1.9481946  3.6743418
5   3.4074574  1.9252181
4   1.3128584  1.1767217
3   2.4122103  2.5408842
2   0.9453059  3.8422947
1   3.0461851  1.8743169
20  1.7637194  0.2819075
19  2.4361746  2.7317351
18  2.6807522  1.7309279
17  0.3469155  2.5212239
16  3.1920233  1.2045429
15  2.4812767  3.1936923
14 -0.2177409  2.0065808
13  1.1291064  2.4145713
12  2.6752537  1.9683690
11  1.3298287  1.4684843

示例 2

以下程式碼段建立了一個示例資料框:

y1<-rpois(20,2)
y2<-rpois(20,5)
y3<-rpois(20,4)
df2<-data.frame(y1,y2,y3)
df2

建立了以下資料框:

   y1 y2  y3
1  2  11  3
2  2   5  7
3  2   3  6
4  1   5  7
5  5   3  4
6  1   2  2
7  3   4  2
8  2   3  3
9  0   5  8
10 2   7  3
11 4   3  3
12 0   5  2
13 3   3  2
14 3   9  2
15 1   6  5
16 2   5  5
17 1   6  5
18 6   8  6
19 1   6  5
20 2   4  2

要更改 df2 中行的順序,將以下程式碼新增到上述程式碼段中:

y1<-rpois(20,2)
y2<-rpois(20,5)
y3<-rpois(20,4)
df2<-data.frame(y1,y2,y3)
df2[c(2,5,7,4,1,11,12,17,14,15,13,8,9,10,6,3,18,20,19,16),]

輸出

如果你將上述所有程式碼段作為一個程式執行,將會生成以下輸出:

   y1 y2 y3
2  2  5  7
5  5  3  4
7  3  4  2
4  1  5  7
1  2 11  3
11 4  3  3
12 0  5  2
17 1  6  5
14 3  9  2
15 1  6  5
13 3  3  2
8  2  3  3
9  0  5  8
10 2  7  3
6  1  2  2
3  2  3  6
18 6  8  6
20 2  4  2
19 1  6  5
16 2  5  5

更新日期: 2021 年 11 月 11 日

6000+ 次瀏覽

Kickstart Your Career

完成課程以獲得認證

開始
廣告
© . All rights reserved.