【问题标题】:Unite columns of dataframe by using wildcards in R [duplicate]通过在 R 中使用通配符来合并数据框的列 [重复]
【发布时间】:2019-08-17 19:58:34
【问题描述】:

我想合并 csv 文件中具有相似命名模式的列。有些文件的列与该模式匹配,但不知道有多少列。

考虑以下示例代码:

df <- unite(df, "united", "name.x", "name.y", "name.xyz", sep="_")

我想使用select() 函数,但不知道如何。

例如,我有这个想法

 df <- unite(df, select(df, contains("name")), sep="_")

但不幸的是它给了我一个错误:

...must evaluate to column positions or names, not a list

【问题讨论】:

    标签: r dataframe tidyverse tidyr


    【解决方案1】:

    同上。但我相信你必须给它一个新的列名:

    unite(df, "New_column_name", contains("name"), sep = "_")
    

    【讨论】:

      【解决方案2】:

      您不需要select 动词。就这样做

      unite(df, contains("name"), sep = "_")
      

      【讨论】:

      • 漂亮,谢谢。我希望在某些时候文档是用 ELI5 风格编写的。因为这行:“有关更多选项,请参阅 dplyr::select() 文档。”让我绝望了。
      • 我猜原因是你可以在这里找到如何使用选择帮助函数,包括contains
      • 我只是不明白你可以在参数内部使用,而不用调用“select()”本身。
      猜你喜欢
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      • 2020-11-01
      • 2020-02-02
      相关资源
      最近更新 更多