2017-08-17 57 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