如何在 R 中使用 mutate 函式新增新列到資料框?


R 中 dplyr 包的 mutate 函式可以幫助我們將新列新增到資料框中,使用 mutate 的好處是我們在新增新列時可以決定新列的位置。例如,如果我們有一個名為 df 的資料框,它包含三列 x、y、a,那麼我們可以使用 mutate 函式在 y 之後新增一個新列 z。要了解如何做到這一點,請檢視下面的示例。

示例 1

考慮下面的資料框:

線上演示

> x1<-rpois(20,2)
> x3<-rpois(20,5)
> df1<-data.frame(x1,x3)
> df1

輸出

   x1 x3
1  2  3
2  1  7
3  1  6
4  5  6
5  2  7
6  5  2
7  1  7
8  2  5
9  1  4
10 2  7
11 2  3
12 1  6
13 3  5
14 3  4
15 2  7
16 3  7
17 6  7
18 2  9
19 1  5
20 1  5

載入 dplyr 包並在 df1 中的 x1 之後新增新列 x2:

> library(dplyr)
> df1%>%mutate(x2=rpois(20,1),.after=x1)

輸出

   x1 x2 x3
1  2  0  3
2  1  0  7
3  1  1  6
4  5  0  6
5  2  1  7
6  5  0  2
7  1  1  7
8  2  1  5
9  1  0  4
10 2  1  7
11 2  0  3
12 1  1  6
13 3  1  5
14 3  1  4
15 2  1  7
16 3  4  7
17 6  1  7
18 2  2  9
19 1  1  5
20 1  4  5

示例 2

線上演示

> y1<-rnorm(20)
> y2<-rnorm(20)
> y4<-rnorm(20)
> df2<-data.frame(y1,y2,y4)
> df2

輸出

       y1           y2         y4
1   1.21750225  -1.33082010  0.7365231
2   0.24052365  -1.19657893 -0.7325931
3   0.82363925  -0.03890292 -0.3103461
4  -0.28315390  -0.20730053 -1.0066420
5  -0.56196875  -0.41592524  0.4996899
6   0.90983596   0.66105140 -0.9552844
7   1.14413650   1.20610045  0.9542341
8   0.03566065   1.31518070  0.2722798
9   1.72309925   0.55267260  0.3036829
10  1.27783338  -0.61818175 -0.2573076
11  0.22074289   1.23057901  0.5180043
12  1.60663571  -1.00737269  1.1614623
13 -0.75813279  -0.36594209  0.3923075
14 -0.31492265   1.30409915 -0.2759040
15 -1.03101619   0.15687986  0.8609099
16 -0.37968676  -0.04247421 -0.7490176
17 -1.90078740  -0.61468534  1.0015994
18 -0.76753148   0.21451207 -0.1875631
19 -0.36281597  -0.94474847 -1.1014309
20 -1.90049600  -0.20750306  2.1602226

在 df2 中的 y2 之後新增新列 y3:

> df2%>%mutate(y3=rnorm(20,10,0.5),.after=y2)

輸出

      y1           y2          y3         y4
1   1.21750225  -1.33082010  8.801898   0.7365231
2   0.24052365  -1.19657893  9.592606  -0.7325931
3   0.82363925  -0.03890292  10.088155 -0.3103461
4  -0.28315390  -0.20730053  9.297835  -1.0066420
5  -0.56196875  -0.41592524  9.463427   0.4996899
6   0.90983596   0.66105140  9.494079  -0.9552844
7   1.14413650   1.20610045  9.689292   0.9542341
8   0.03566065   1.31518070  10.664904  0.2722798
9   1.72309925   0.55267260  10.778179  0.3036829
10  1.27783338  -0.61818175  9.872532  -0.2573076
11  0.22074289   1.23057901  9.301869   0.5180043
12  1.60663571  -1.00737269  10.176794  1.1614623
13 -0.75813279  -0.36594209  9.367227   0.3923075
14 -0.31492265   1.30409915  11.086966 -0.2759040
15 -1.03101619   0.15687986  9.082294   0.8609099
16 -0.37968676  -0.04247421  9.547622  -0.7490176
17 -1.90078740  -0.61468534  9.694575   1.0015994
18 -0.76753148   0.21451207  10.583576 -0.1875631
19 -0.36281597  -0.94474847  10.075352 -1.1014309
20 -1.90049600  -0.20750306  10.106721 2.1602226

更新於:2021-03-05

870 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.