如何使用 dplyr::rename 重命名选择的变量?
How do I rename a selection of variables using dplyr::rename?
嗨:我基本上需要将数据框中的一些李克特项目重新编码为数字,然后重命名它们。我可以在 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))))
解决方案:
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)
重新发布评论作为答案:
如果将%>%
添加到mutate_all行的末尾,则输出为:具有变量名称"ideol 1"、"ideol 2"、[=17的数据框=].
嗨:我基本上需要将数据框中的一些李克特项目重新编码为数字,然后重命名它们。我可以在 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))))
解决方案:
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)
重新发布评论作为答案:
如果将%>%
添加到mutate_all行的末尾,则输出为:具有变量名称"ideol 1"、"ideol 2"、[=17的数据框=].