在函数中更改列名

时间:2018-10-03 14:16:09

标签: r function

编写函数时,如何获得新的基线名称,以根据数据集的名称进行更改?使用此功能,列名称将变为“ dataset_baseline”和“ dataset_adverse”,而不是例如“ Inflation_baseline”和“ Inflation_adverse”。

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

1 个答案:

答案 0 :(得分:1)

尝试一下:

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"))

注意:您不应该尝试从函数内部分配数据集:它将不起作用,因为那里的“数据集”将引用函数的局部变量。