在 data.frame 的两列之间添加(插入)一列

问题描述:

我有一个包含 a、b 和 c 列的数据框.我想在 b 和 c 之间添加一个新列 d.

I have a data frame that has columns a, b, and c. I'd like to add a new column d between b and c.

我知道我可以通过使用 cbind 在最后添加 d 但是我如何在两列之间插入它?

I know I could just add d at the end by using cbind but how can I insert it in between two columns?

我建议你使用 tibble 包.

I would suggest you to use the function add_column() from the tibble package.

library(tibble)
dataset <- data.frame(a = 1:5, b = 2:6, c=3:7)
add_column(dataset, d = 4:8, .after = 2)

请注意,您可以使用列名代替列索引:

Note that you can use column names instead of column index :

add_column(dataset, d = 4:8, .after = "b")

如果更方便,或者使用参数 .before 而不是 .after.

Or use argument .before instead of .after if more convenient.

add_column(dataset, d = 4:8, .before = "c")