【问题标题】:R tibble rename columns with regular expressionsR tibble 使用正则表达式重命名列
【发布时间】:2018-05-13 14:39:06
【问题描述】:

在几个 dplyr::joins 之后,我在一个表中有多个重复的列。该表的简单版本如下所示:

col1 col2 col3 col4.x col4.y col5.x col5.y

我想重命名为:

col1 col2 col3 col4 col5

我能够使用select(tablename, -matches("*.y")) 删除 *.y 列

导致:

col1 col2 col3 col4.x col5.x

从这里开始,我认为rename_if() 应该可以工作,但我不知道如何将 col4.x 和 col5.x 重命名为 col4 和 col5。

任何建议将不胜感激。

【问题讨论】:

  • setNames(tablename, gsub("\\.x$", "", names(tablename)))
  • 您还应该查看join 函数中的by 参数。这就是您获得 .x 和 .y 的原因。或者,您可以在要加入的两个数据框之一上执行 select(-col5) 以消除重复。

标签: r dplyr rename tidyverse


【解决方案1】:

mytibble %>% rename_all(gsub, pattern = '\\.x', replacement = '')

【讨论】:

  • 这已被rename_with()取代。
猜你喜欢
  • 1970-01-01
  • 2020-12-07
  • 2021-11-04
  • 2021-09-09
  • 2021-08-27
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 2011-09-14
相关资源
最近更新 更多