Вы можете использовать функцию relocate () из пакета dplyr в R, чтобы изменить позиции столбцов во фрейме данных.
Вы можете использовать следующие методы для изменения позиций столбцов:
Способ 1: переместить один столбец на передний план
#move 'x' column to front
df %>% relocate(x)
Способ 2: переместить несколько столбцов на передний план
#move 'x' and 'y' columns to front
df %>% relocate(x, y)
Способ 3: переместить столбец в позицию после другого столбца
#move 'x' column to position after 'y' column
df %>% relocate(x,.after =y)
Способ 4: переместить столбец в положение перед другим столбцом
#move 'x' column to position before 'y' column
df %>% relocate(x,.before =y)
В следующих примерах показано, как использовать каждый метод со следующим фреймом данных:
#create dataset
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'C', 'C'),
points=c(1, 2, 3, 4, 5, 6, 7),
assists=c(1, 5, 2, 3, 2, 2, 0),
rebounds=c(6, 6, 10, 12, 8, 8, 3))
#view dataset
df
team points assists rebounds
1 A 1 1 6
2 A 2 5 6
3 A 3 2 10
4 B 4 3 12
5 B 5 2 8
6 C 6 2 8
7 C 7 0 3
Пример 1: Переместить один столбец на передний план
В следующем коде показано, как использовать функцию relocate() для перемещения одного столбца вперед:
#move 'assists' column to front
df %>% relocate(assists)
assists team points rebounds
1 1 A 1 6
2 5 A 2 6
3 2 A 3 10
4 3 B 4 12
5 2 B 5 8
6 2 C 6 8
7 0 C 7 3
Пример 2: Переместить несколько столбцов на передний план
В следующем коде показано, как использовать функцию relocate() для перемещения нескольких столбцов на передний план:
#move 'points' and 'assists' to front
df %>% relocate(points, assists)
points assists team rebounds
1 1 1 A 6
2 2 5 A 6
3 3 2 A 10
4 4 3 B 12
5 5 2 B 8
6 6 2 C 8
7 7 0 C 3
Пример 3: Переместить столбец в позицию после другого столбца
В следующем коде показано, как использовать функцию relocate() для перемещения одного столбца в определенную позицию после другого столбца:
#move 'team' column to after 'assists' column
df %>% relocate(team,.after =assists)
points assists team rebounds
1 1 1 A 6
2 2 5 A 6
3 3 2 A 10
4 4 3 B 12
5 5 2 B 8
6 6 2 C 8
7 7 0 C 3
Пример 4: Переместить столбец на позицию перед другим столбцом
В следующем коде показано, как использовать функцию relocate() для перемещения одного столбца в определенную позицию перед другим столбцом:
#move 'team' column to before 'rebounds' column
df %>% relocate(team,.before =rebounds)
points assists team rebounds
1 1 1 A 6
2 2 5 A 6
3 3 2 A 10
4 4 3 B 12
5 5 2 B 8
6 6 2 C 8
7 7 0 C 3
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции с помощью dplyr:
Как удалить строки с помощью dplyr
Как упорядочить строки с помощью dplyr
Как фильтровать по нескольким условиям с помощью dplyr