Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add (insert) a column between two columns in a data.frame

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.

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

like image 874
Mark Avatar asked Nov 21 '12 21:11

Mark


People also ask

How do I add a new column between two columns in pandas?

Answer. Yes, you can add a new column in a specified position into a dataframe, by specifying an index and using the insert() function. By default, adding a column will always add it as the last column of a dataframe. This will insert the column at index 2, and fill it with the data provided by data .

How do I add a column between two columns in R?

To add a new column to a dataframe in R you can use the $-operator. For example, to add the column “NewColumn”, you can do like this: dataf$NewColumn <- Values .


1 Answers

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") 

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

add_column(dataset, d = 4:8, .before = "c") 
like image 100
Kevin Zarca Avatar answered Sep 21 '22 17:09

Kevin Zarca