当我尝试根据特定条件重命名变量时,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)重命名变量的正确方法是什么,同时保留其他变量?
答案 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
...