Как переименовать несколько столбцов с помощью dplyr
Вы можете использовать следующие функции из пакета dplyr в R для переименования нескольких столбцов во фрейме данных:
Способ 1: используйте переименование()
df %>% rename(new1 = old1, new2 = old2)
Способ 2: используйте rename_with()
new <- c(' new1 ', ' new2 ') old <- c(' old1 ', ' old2 ') df %>% rename_with(~ new, all_of(old))
Оба метода дают один и тот же результат.
В следующих примерах показано, как использовать каждый из этих методов на практике со следующим фреймом данных в R:
#create data frame df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'), dots=c(22, 34, 30, 12, 18), assists=c(7, 9, 9, 12, 14)) #view data frame df team points assists 1 to 22 7 2 B 34 9 3 C 30 9 4 D 12 12 5 E 18 14
Пример 1. Переименуйте несколько столбцов с помощью rename().
Следующий код показывает, как использовать функцию rename() для переименования столбцов команды и точек во фрейме данных:
library (dplyr)
#rename team and points columns
df2 <- df %>% rename(team_new = team, points_new = points)
#view updated data frame
df2
team_new points_new assists
1 to 22 7
2 B 34 9
3 C 30 9
4 D 12 12
5 E 18 14
Столбцы команд и очков были переименованы, а столбец передач остался прежним.
Пример 2. Переименуйте несколько столбцов с помощью rename_with().
Следующий код показывает, как использовать функцию rename_with() для переименования столбцов команды и точек во фрейме данных:
library (dplyr)
#define new names
new <- c(' team_new ', ' points_new ')
#define old names to replace
old <- c(' team ', ' points ')
#rename old names with new names
df2 <- df %>% rename_with(~ new, all_of(old))
#view updated data frame
df2
team_new points_new assists
1 to 22 7
2 B 34 9
3 C 30 9
4 D 12 12
5 E 18 14
Столбцы команд и очков были переименованы, а столбец передач остался прежним.
Обратите внимание, что этот метод может быть проще использовать, если у вас есть длинный список имен столбцов, которые вы хотите заменить.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью dplyr:
Как выбрать столбцы по имени с помощью dplyr
Как выбрать столбцы по индексу с помощью dplyr
Как использовать select_if с несколькими условиями в dplyr