run*_*rds 12 merge join r rename dplyr
我经常将两个具有相同名称的数据框连接在一起.有没有办法在join-step中执行此操作,以便我最终得到.x和.y列?这些名字可能是'original_mpg'和'new_mpg'?
library(dplyr)
left_join(mtcars, mtcars[,c("mpg",'cyl')], by=c("cyl"))
names(mtcars) #ugh
Run Code Online (Sandbox Code Playgroud)
c(".x", ".y")可以通过将默认后缀传递为长度为2的字符向量来覆盖它们:
library(dplyr)
left_join(mtcars, mtcars[,c("mpg","cyl")],
by = c("cyl"),
suffix = c("_original", "_new")) %>%
head()
Run Code Online (Sandbox Code Playgroud)
输出量
mpg_original cyl disp hp drat wt qsec vs am gear carb mpg_new
1 21 6 160 110 3.9 2.62 16.46 0 1 4 4 21.0
2 21 6 160 110 3.9 2.62 16.46 0 1 4 4 21.0
3 21 6 160 110 3.9 2.62 16.46 0 1 4 4 21.4
4 21 6 160 110 3.9 2.62 16.46 0 1 4 4 18.1
5 21 6 160 110 3.9 2.62 16.46 0 1 4 4 19.2
6 21 6 160 110 3.9 2.62 16.46 0 1 4 4 17.8
Run Code Online (Sandbox Code Playgroud)