попробуйте это:
colnames(df2) <- as.character(df1[,2])
colnames()
определяет имена столбцов (заголовков) матрицы или фрейма данных.
Следите за тем, чтобы длина столбцов и заголовка была одинаковой.
Также можно просто переименовать одно имя, используя скобки [].
colnames(df2)[1] <- "name"
Это переименует первый столбец.
Эквивалент для строк: rownames()