【发布时间】: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)以消除重复。