Вы можете использовать следующий код для управления порядком имен столбцов.
df[, as.vector(t(matrix(colnames(df), ncol = 2)))]
Или управлять индексом столбца
df[, as.vector(t(matrix(1:20, ncol = 2)))]
Или определить порядок в векторе (cols
), а затем используйте lapply
и grep
для получения имен столбцов.
cols <- c("one","two","three","four","five","six","seven","eight","nine","ten")
df[, unlist(lapply(cols, function(x) grep(x, colnames(df), value = TRUE)))]