assign headers based on existing row in dataframe in R

user3166363 picture user3166363 · Jan 6, 2014 · Viewed 116.7k times · Source

After transforming a dataframe, I would like to assign heads/names to the columns based on an existing row. My headers are currently:

row.names   X2  X3  X4  X5  X6  X7  X8  X9  ...

I would like to get rid of that and use the following row as column headers (without having to type them out since I have many).

The only solution I have for this is to export and re-load the data (with header=T).

Answer

Vishnu Jayanand picture Vishnu Jayanand · May 20, 2016

The key here is to unlist the row first.

colnames(DF) <- as.character(unlist(DF[1,]))
DF = DF[-1, ]