本文介绍了在dplyr中重命名列时的整齐计算的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用rename()与dplyr v0.7.0中发布的整齐的求值语法一起动态重命名数据帧中的单个列。
从?rename帮助页中,我找到了重命名2列的以下示例。
library(dplyr) vars <- c(var1 = "cyl", var2 ="am") rename(mtcars, !!vars) %>% head(1) > mpg var1 disp hp drat wt qsec vs var2 gear carb > Mazda RX4 21 6 160 110 3.9 2.62 16.46 0 1 4 4但是,我注意到不能使用相同的语法重命名单个列。
vars <- c(var1 = "cyl") rename(mtcars, !!vars) %>% head(1) > Error: All arguments must be named但是,当我将同一列重命名两次时,它仍然起作用。
vars <- c(var1 = "cyl", var1 = "cyl") rename(mtcars, !!vars) %>% head(1) > mpg var1 disp hp drat wt qsec vs am gear carb > Mazda RX4 21 6 160 110 3.9 2.62 16.46 0 1 4 4为什么会发生这种情况?正确的语法是什么?
推荐答案使用!!!进行评估
rename(mtcars, !!!vars) %>% head(1) # mpg var1 disp hp drat wt qsec vs am gear carb #Mazda RX4 21 6 160 110 3.9 2.62 16.46 0 1 4 4更多推荐
在dplyr中重命名列时的整齐计算
发布评论