How to rename a single column in a data.frame?

colnames(trSamp)[2] <- "newname2"

attempts to set the second column's name. Your object only has one column, so the command throws an error. This should be sufficient:

colnames(trSamp) <- "newname2"

This is a generalized way in which you do not have to remember the exact location of the variable:

# df = dataframe
# old.var.name = The name you don't like anymore
# new.var.name = The name you want to get

names(df)[names(df) == 'old.var.name'] <- 'new.var.name'

This code pretty much does the following:

  1. names(df) looks into all the names in the df
  2. [names(df) == old.var.name] extracts the variable name you want to check
  3. <- 'new.var.name' assigns the new variable name.

Tags:

R