Как переставить столбцы в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *