如何使用dplyr::rename重命名所选变量?

如何使用dplyr::rename重命名所选变量?,r,dplyr,rename,tidyverse,R,Dplyr,Rename,Tidyverse,嗨:我基本上需要将数据帧中的一些likert项重新编码为数字,然后重命名它们。我可以在base R中执行此操作,但想知道如何在tidyverse中执行此操作。我的建议是: library(tidyverse) var1<-sample(c('a', 'b', 'c', 'd')) var2<-var1 var3<-var1 var4<-rnorm(n=4) df<-data.frame(var1, var2, var3, var4) recodes<-c('v

嗨:我基本上需要将数据帧中的一些likert项重新编码为数字,然后重命名它们。我可以在base R中执行此操作,但想知道如何在tidyverse中执行此操作。我的建议是:

library(tidyverse)
var1<-sample(c('a', 'b', 'c', 'd'))
var2<-var1
var3<-var1
var4<-rnorm(n=4)
df<-data.frame(var1, var2, var3, var4)
recodes<-c('var1', 'var2', 'var3')

df %>% 
select(recodes) %>% 
#everythig works great to this line
mutate_all(funs(dplyr::recode(., 'a'=1, 'b'=0.5, 'c'=0.25, 'd'=0)))%>%
#This is where I need some help
rename_all(funs(paste('ideol', seq(1,3,1))))
库(tidyverse)
var1%
cbind(,df)

将评论作为答案重新发布:


如果将%>%>%添加到mutate_all行的末尾,则输出为:变量名为“ideol 1”、“ideol 2”、“ideol 3”的数据帧。

如果将%>%添加到mutate_all行的末尾,则输出为:变量名为“ideol 1”、“ideol 2”、“ideol 3”的数据帧。这不是期望的结果吗?就像@LucyMLi提到的那样,你好像忘记了一根管子。当然。我太马虎了。抱歉,已修复,但如何在原始数据框中存储那些名称已更改的变量?或者将它们添加到原始数据框?这是我的最后一行。很抱歉把这个空间弄乱了
cbind(,df)
df<-df %>% 
select(recodes) %>% 
#everythig works great to this line
mutate_all(funs(dplyr::recode(., 'a'=1, 'b'=0.5, 'c'=0.25, 'd'=0)))%>%
#This is where I need some help
rename_all(funs(paste('ideol', seq(1,3,1), sep='')))%>%
cbind(., df)