Переименовать все имена столбцов с помощью суффикса, кроме указанного в списке, используя dplyr? - PullRequest
0 голосов
/ 04 июня 2018

Я надеюсь, что это простой вопрос.Как переименовать все имена заголовков столбцов в наборе данных с суффиксом «_2017», кроме первых двух заголовков столбцов: «Имя» и «Состояние»?Я хотел бы использовать dplyr для этого.

1 Ответ

0 голосов
/ 04 июня 2018

Вы можете использовать rename_at и исключать столбцы, используя vars вспомогательный метод:

df <- data.frame(Name = c('a', 'b'), State = c('c', 'd'), col1 = 1:2, col2 = 3:4)
df
#  Name State col1 col2
#1    a     c    1    3
#2    b     d    2    4

Исключать с жестко заданными именами:

df %>% rename_at(vars(-Name, -State), ~ paste0(., '_2017'))
#  Name State col1_2017 col2_2017
#1    a     c         1         3
#2    b     d         2         4

Исключить по позициям столбцов:

df %>% rename_at(vars(-(1:2)), ~ paste0(., '_2017'))
#  Name State col1_2017 col2_2017
#1    a     c         1         3
#2    b     d         2         4

Исключить по именам столбцов, хранящимся в переменной:

to_exclude = c('Name', 'State')
df %>% rename_at(vars(-one_of(to_exclude)), ~ paste0(., '_2017'))
#  Name State col1_2017 col2_2017
#1    a     c         1         3
#2    b     d         2         4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...