【问题标题】:dplyr rename not working with regular expressiondplyr 重命名不适用于正则表达式
【发布时间】:2015-08-12 08:21:03
【问题描述】:

当我尝试根据某些条件重命名变量时,选择函数工作正常

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(或包含)重命名变量同时保留其他变量的正确方法是什么?

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    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
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 2013-05-01
      • 2020-01-19
      • 2014-04-03
      • 2018-11-13
      • 1970-01-01
      相关资源
      最近更新 更多