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

以上是 如何在R数据帧中的列之间或最后一列之后添加一列? 的全部内容, 来源链接: utcz.com/z/334789.html

回到顶部