Как переставить столбцы в r
Часто вам может потребоваться изменить порядок столбцов во фрейме данных в R.
К счастью, это легко сделать с помощью функции select() из пакета dplyr .
library (dplyr)
В этом руководстве показано несколько примеров того, как использовать эту функцию на практике, используя следующий фрейм данных:
#create data frame df <- data.frame(player = c('a', 'b', 'c', 'd', 'e'), position = c('G', 'F', 'F', 'G', 'G'), points = c(12, 15, 19, 22, 32), rebounds = c(5, 7, 7, 12, 11)) #view data frame df player position points rebounds 1 to G 12 5 2 b F 15 7 3 c F 19 7 4 d G 22 12 5th G 32 11
Пример 1. Перемещение столбца на первую позицию
Следующий код показывает, как переместить определенный столбец во фрейме данных на первую позицию:
#move column 'points' to first position df %>% select(points, everything() ) points player position rebounds 1 12 a G 5 2 15 b F 7 3 19 c F 7 4 22 d G 12 5 32nd G 11
Этот код сообщает dplyr сначала выбрать столбец точек, а затем включить все остальные столбцы после точек.
Пример 2. Перемещение столбца на последнюю позицию
Следующий код показывает, как переместить определенный столбец во фрейме данных на последнюю позицию:
#move column 'points' to last position
df %>% select(-points, points)
player position rebounds points
1 to G 5 12
2 b F 7 15
3c F 7 19
4 d G 12 22
5th G 11 32
Этот код сообщает dplyr выбрать все столбцы , кроме столбца точек, а затем снова выбрать столбец точек. Это приводит к перемещению столбца точек в последнюю позицию во фрейме данных.
Пример 3. Перестановка нескольких столбцов
Следующий код показывает, как изменить расположение нескольких столбцов одновременно в определенном порядке:
#change all column names to uppercase
df %>% select(rebounds, position, points, player)
rebounds position points player
1 5 G 12 a
2 7 F 15 b
3 7 F 19 c
4 12 G 22 d
5 11 G 32 e
Пример 4. Перестановка столбцов в алфавитном порядке
Следующий код показывает, как сортировать столбцы по алфавиту:
#order columns alphabetically
df %>% select(order(colnames(.)))
player points position rebounds
1 to 12 G 5
2 b 15 F 7
3 c 19 F 7
4 d 22 G 12
5 th 32 G 11
Пример 5: Обратный порядок столбцов
Следующий код показывает, как изменить порядок столбцов во фрейме данных:
#reverse column order df %>% select(rebounds:player, everything() ) rebound points position player 1 5 12 G a 2 7 15 F b 3 7 19 F c 4 12 22 L d 5 11 32 G e
Примечание . Полную документацию по функции select() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в dplyr:
Как выбрать столбцы по индексу с помощью dplyr
Как выбрать столбцы по имени с помощью dplyr
Как добавить столбцы во фрейм данных с помощью dplyr