Dplyr重新命名为unquoting

时间:2017-08-17 07:56:16

标签: r dplyr

我尝试重命名数据框中的变量,但无法让unquoting部分正常工作。我已阅读http://dplyr.tidyverse.org/articles/programming.html并查看不同的示例,但不幸的是,我无法以某种方式解决这个问题。这就是我目前正在使用的内容,我想重命名列" x"到" x2" (两者都是变量):

df = data.frame(x = c(1,2,3), y = c(2,3,4))
variable_to_rename = "x"
new_variable_name = "x2"
df %>%
  rename_vars(names(.), !! variable_to_rename = !! new_variable_name)

所需的输出是数据帧:

data.frame(x2 = c(1,2,3), y = c(2,3,4))

正如我刚评论的那样: 我找到了以下工作代码:

df %>%
  rename(!!new_variable_name := !!rlang::sym(variable_to_rename))

2 个答案:

答案 0 :(得分:0)

你可以使用名字吗? names(df)[1] <- "x2"

答案 1 :(得分:0)

重命名单个列的最简单方法是建议here。但是,如果您想使用dplyr::rename(),请查看以下答案。

使用rename()功能如下所示。

df <- rename(df, x2 = x)
df
#  x2 y
#1  1 2
#2  2 3
#3  3 4