2017-08-17 50 views
-1

我试图重命名数据框中的变量,但无法获取无引号声明的部分。我已经阅读http://dplyr.tidyverse.org/articles/programming.html,看着不同的例子,但不幸的是,无法想象它。这是我目前使用的,我要重命名的列的“x”为“X2”(均是变量):Dplyr重命名不引用

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)) 
+0

对不起,已经找到了答案: DF%>% 重命名(!! new_variable_name:= !! rlang ::符号(variable_to_rename)) – onnhoJ

+1

也看到这个答案https://stackoverflow.com/a/44452676/3926543和第一条评论。希望能帮助到你。 – mt1022

回答

0

你也许可以只使用的名字呢? names(df)[1] <- "x2"

0

重命名单列的最简单方法是建议here。但如果你想使用dplyr::rename(),那么看看下面的答案。


使用rename()功能如下将做必要的。

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