相关疑难解决方法(0)

在dplyr的重命名函数中输入新的列名作为字符串

dplyr的重命名函数要求将新列名作为不带引号的变量名传递.但是我有一个函数,通过将字符串粘贴到传入的参数上来构造列名,因此是一个字符串.

比如说我有这个功能

myFunc <- function(df, col){
  new <- paste0(col, '_1')
  out <- dplyr::rename(df, new = old)
  return(out)
}
Run Code Online (Sandbox Code Playgroud)

如果我运行这个

df <- data.frame(a = 1:3, old = 4:6)
myFunc(df, 'x')
Run Code Online (Sandbox Code Playgroud)

我明白了

  a new
1 1   4
2 2   5
3 3   6
Run Code Online (Sandbox Code Playgroud)

而我希望'new'列是我构造的字符串的名称('x_1'),即

  a x_1
1 1   4
2 2   5
3 3   6
Run Code Online (Sandbox Code Playgroud)

无论如何这样做?

r dplyr

26
推荐指数
1
解决办法
1万
查看次数

标签 统计

dplyr ×1

r ×1