如何在 R 数据帧的列之间或最后一列之后添加一列?
因为没有人是完美的,人们可能会忘记添加所有分析中必需的列,但这个问题可以解决。如果数据帧中缺少一列,我们稍后再了解它,则可以通过重新排序列轻松添加它。
示例
考虑下面这个数据帧 -
> x1<-1:20 > x2<-letters[1:20] > x3<-rep(c(1,2),times=10) > df<-data.frame(x1,x2,x3) > df x1 x2 x3 1 1 a 1 2 2 b 2 3 3 c 1 4 4 d 2 5 5 e 1 6 6 f 2 7 7 g 1 8 8 h 2 9 9 i 1 10 10 j 2 11 11 k 1 12 12 l 2 13 13 m 1 14 14 n 2 15 15 o 1 16 16 p 2 17 17 q 1 18 18 r 2 19 19 s 1 20 20 t 2
假设缺少一列 y1,需要在 x1 和 x2 之间,然后可以按照如下所示创建和添加它 -
> df$y1<-rep(c(22,24,26,28),times=5)
> df<-df[,c("x1","y1","x2","x3")]
> df
x1 y1 x2 x3
1 1 22 a 1
2 2 24 b 2
3 3 26 c 1
4 4 28 d 2
5 5 22 e 1
6 6 24 f 2
7 7 26 g 1
8 8 28 h 2
9 9 22 i 1
10 10 24 j 2
11 11 26 k 1
12 12 28 l 2
13 13 22 m 1
14 14 24 n 2
15 15 26 o 1
16 16 28 p 2
17 17 22 q 1
18 18 24 r 2
19 19 26 s 1
20 20 28 t 2假设缺少另一列,它应该在最后的位置,那么可以按照如下所示创建和添加它 -
> df$y2<-rep(c(100,105,110,115,120),times=4)
> df<-df[,c("x1","y1","x2","x3","y2")]
> df
x1 y1 x2 x3 y2
1 1 22 a 1 100
2 2 24 b 2 105
3 3 26 c 1 110
4 4 28 d 2 115
5 5 22 e 1 120
6 6 24 f 2 100
7 7 26 g 1 105
8 8 28 h 2 110
9 9 22 i 1 115
10 10 24 j 2 120
11 11 26 k 1 100
12 12 28 l 2 105
13 13 22 m 1 110
14 14 24 n 2 115
15 15 26 o 1 120
16 16 28 p 2 100
17 17 22 q 1 105
18 18 24 r 2 110
19 19 26 s 1 115
20 20 28 t 2 120
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP