Изменение имен столбцов внутри функции - PullRequest
0 голосов
/ 03 октября 2018

Когда я пишу функцию, как получить новое имя для базового уровня, которое будет меняться в зависимости от того, как называется мой набор данных?С помощью этой функции имена столбцов становятся dataset_baseline и dataset_adverse вместо, например, Inflation_baseline и Inflation_adverse.

renaming <- function(dataset) {
dataset <- dataset %>%
  rename(dataset_baseline = baseline, dataset_adverse = adverse)
return(dataset)
}

1 Ответ

0 голосов
/ 03 октября 2018

Попробуйте это:

renaming <- function(dataset,columns) {
  call = as.list(match.call())
  dataset.name <- toString(call$dataset)
  dataset %>% rename_at(columns,funs(paste0(dataset.name,.)))
}
dataset <- renaming(dataset,c("baseline","adverse"))

ПРИМЕЧАНИЕ. Не пытайтесь назначать набор данных из вашей функции: он не будет работать, поскольку набор данных в нем будет ссылаться на локальную переменную вашей функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...