我希望您能使用dplyr和管道操作来选择和重命名R中的列,以下是需要翻译的内容:
这里的问题是我有超过3个需要重命名的变量(想象一下有50个),因此我不想手动写50次“newvar1=var1,newvar2=var2,...”。因此,我正在寻找类似于下面这个脚本的东西,但它不起作用:
我也尝试过这个方法(非常不优雅,而且还没有起作用...):
我正在寻找一种简洁优雅的方式,在R中使用dplyr和管道操作选择和重命名列。
我已经成功实现了我的想法,但它很笨拙且难以编写脚本,因此我正在寻找更好的方法。
这是有效的方法:
tab <- as.data.frame(matrix(round(runif(15,0,50)),3,5))
colnames(tab) <- c("badvar1", "badvar2","badname1","badname2","badname3")
tab %>%
select(c("badname1","badname2","badname3")) %>%
rename(goodname1 = badname1, goodname2 = badname2 ,goodname3 = badname3)
goodname1 goodname2 goodname3
1 48 32 28
2 38 31 5
3 19 43 41
这里的问题是我有超过3个需要重命名的变量(想象一下有50个),因此我不想手动写50次“newvar1=var1,newvar2=var2,...”。因此,我正在寻找类似于下面这个脚本的东西,但它不起作用:
vector_of_good_var_name <- c("goodname1","goodname2","goodname3")
tab %>%
select(c("badname1","badname2","badname3")) %>%
rename(vector_of_good_var_name)
Error: All arguments must be named
我也尝试过这个方法(非常不优雅,而且还没有起作用...):
test <- list("badname1","badname2","badname3")
names(test) <- c("goodname1","goodname2","goodname3")
tab %>%
select(c("badname1","badname2","badname3")) %>%
rename(test)
Error: All arguments must be named
有什么更好的方法来使用管道重命名变量的脚本吗?
tab %>% select(...) %>% setNames(vector_of_good_var_name)
的中文翻译为:tab %>% 选择(...) %>% 设置变量名为好的向量
。 - undefined