将列添加到R中的数据框的中间

时间:2018-01-23 16:46:26

标签: r

我正在重新排列从某些分析设备获得的数据帧,因为它以非常奇怪的方式进行排序。我不得不将它分成两个大小相等的数据帧;一个包含结果,另一个包含测量误差。

我想从第二个数据框中获取错误列,并将它们插入第一个数据框中相应结果列的右侧。

我不想使用append()函数然后重新排列,因为我已经重命名了每一列"错误"在第二个数据框中。

有没有办法将新列插入现有数据框中的特定位置?

非常感谢。

1 个答案:

答案 0 :(得分:0)

创建一个包含3列的通用data.frame

df <- data.frame("round" = c(1,2,3),
                  'geocode' = c('AAA', 'BBB', 'CCC'),
                  'value1' = c(111, 222, 333))
df
  round geocode value1
1     1     AAA    111
2     2     BBB    222
3     3     CCC    333

要添加的新列

new_col<-c(10,20,30)

我将新列添加到data.frame

df<-cbind(df,new_col)

您的新data.frame

df
      round geocode value1 new_col
    1     1     AAA    111      10
    2     2     BBB    222      20
    3     3     CCC    333      30

如何更改选择列数的顺序:

df[,c(1,4,2,3)]
  round new_col geocode value1
1     1      10     AAA    111
2     2      20     BBB    222
3     3      30     CCC    333