R tibble 用正则表达式重命名列

R tibble rename columns with regular expressions

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

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。

如有任何建议,我们将不胜感激。

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