如何在 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 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告