Как использовать функцию relocate() в dplyr (с примерами)


Вы можете использовать функцию 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