У меня есть фрейм данных, отформатированный примерно так:
val1 = c(.35, .36, .35, .22, .27, .25)
val2 = c(.35, .35, .37, .40, .42, .46)
val3 = c(.88, .9, .87, .35, .35, .36)
val4 = c(.9, .91, .82, .36, .36, .36)
df = data.frame (val1, val2, val3, val4)
colnames(df)[1] = "group 1_31"
colnames(df)[2] = "group 1_32"
colnames(df)[3] = "group 2_32"
colnames(df)[4] = "group 10_310"
Я знаю, что эти имена столбцов не идеальны, но, к сожалению, они автоматически предоставляются программой, которую я запускаю. Я хотел бы переименовать каждый столбец, чтобы группа a_b c стала bca, например:
colnames(df)[1] = "311"
colnames(df)[2] = "321"
colnames(df)[3] = "322"
colnames(df)[4] = "31010"
Я знаю, что могу избавиться от "группы", выполнив:
colnames(df)=sub("group ","",colnames(df))
но это все еще оставляет меня с "1_31", "1_32" и т. Д. c.
Есть ли способ автоматически преобразовать a_b c в bca для всех имен столбцов (у меня 55, которые нуждаются в этом преобразовании)?
Я прочитал Переименование имен столбцов Dataframe в R с использованием предыдущего имени столбца и шаблона регулярного выражения но я думаю, что мой случай другой, потому что мне нужно изменить порядок имен существующих столбцов, а не просто вырезать их выключен в указанной позиции c.