Мой вопрос заключается в том, как переименовать имена моих столбцов, основываясь на символьном векторе, при наложении порядка вектора на мой фрейм данных.Я прочитал все подобные посты, но не отвечаю на мой вопрос.
Я работаю над фреймом данных следующим образом:
df<- data.frame(q3= c(1,4,6,1), q12=c(5,3,2,4), q11=c(1,2,3,4), q1=c(5,6,4,5),q5= c(1,4,6,1), q9=c(5,3,2,4), q10=c(1,2,3,4), q4=c(5,6,4,5),q2= c(1,4,6,1), q7=c(5,3,2,4), q6=c(1,2,3,4), q8=c(5,6,4,5))
В идеале я хотел бы заказать эти столбцы на основеих индекс т.е. q1, q3, q78, q99.Однако это кажется трудным.
К счастью, у меня также есть вектор, который содержит упорядоченные имена столбцов:
cols<- c("q1", "q2", "q3", "q4","q5", "q6", "q7", "q8","q9", "q10", "q11", "q12")
Замена имен столбцов фрейма данных на cols
явно неверна, посколькуони заказаны по-разному.Итак, я дошел до:
colnames(df) <- match(colnames(df), cols)
df <- df[,order(names(df))]
, которая заменяет colnames(df)
на позицию, в которой последние находятся в столбцахно ясно, что я не могу упорядочить эти числа, так как они не воспринимаются R как целые числа (из-за того, что R не позволяет числам быть именами переменных).Если бы я мог сделать это, то df был бы в том же порядке, что и столбцы cols, и я бы просто заменил имена столбцов.
Как я могу заставить эту работу работать?Если это невозможно, что может быть альтернативой?
Заранее спасибо.