dplyr重命名不使用正则表达式

时间:2015-05-29 12:48:29

标签: r dplyr

当我尝试根据特定条件重命名变量时,select函数正常工作

require(dplyr)
select(iris, petal = starts_with("Petal"))

但是当我尝试使用

保留所有其他变量时
rename(iris, petal = starts_with("Petal"))

Error: Arguments to rename must be unquoted variable names. Arguments petal are not.

我不知道为什么dplyr抱怨这个。如果打算这样做,使用starts_with(或contains)重命名变量的正确方法是什么,同时保留其他变量?

1 个答案:

答案 0 :(得分:11)

select已经为您重命名。您可以在调用中添加everything()以获取其余列

select(iris, petal = starts_with("Petal"), everything())
#     petal1 petal2 Sepal.Length Sepal.Width    Species
# 1      1.4    0.2          5.1         3.5     setosa
# 2      1.4    0.2          4.9         3.0     setosa
# 3      1.3    0.2          4.7         3.2     setosa
# 4      1.5    0.2          4.6         3.1     setosa
# 5      1.4    0.2          5.0         3.6     setosa
# 6      1.7    0.4          5.4         3.9     setosa
# 7      1.4    0.3          4.6         3.4     setosa
# 8      1.5    0.2          5.0         3.4     setosa
# 9      1.4    0.2          4.4         2.9     setosa
...