Мы можем использовать объединенный индекс столбца (c
) на основе последовательности (:
) в диапазоне значений
example[c(3:5, 1:2)]
# 3 4 5 1 2
#1 5 1 2 1 3
#2 2 2 5 8 2
#3 5 3 7 3 3
#4 4 4 8 9 3
Поскольку все имена столбцов нумеруются c, просто преобразовать в numeric
и использовать это для заказа
v1 <- as.numeric(names(example))
example[c(v1[3:5], v1[1:2])]
Или просто сделать
example[c(names(example)[3:5], names(example)[1:2])]
Или другой способ с head
и tail
example[c(tail(names(example), 3), head(names(example), 2))]
данные
example <- data.frame(`1`=c(1,8,3,9), `2`=c(3,2,3,3),
`3`=c(5,2,5,4), `4`=c(1,2,3,4), `5`=c(2,5,7,8), check.names = FALSE)