同じ名前の2つのデータフレームを結合することがよくあります。 .x列と.y列で終わらないように、結合ステップ内でこれを行う方法はありますか?名前は「original_mpg」や「new_mpg」の可能性がありますか?
library(dplyr)
left_join(mtcars, mtcars[,c("mpg",'cyl')], by=c("cyl"))
names(mtcars) #ugh
現在、これは 未解決の問題dplyrです。結合の前または後にrename
を実行するか、ベースRからmerge
を使用する必要があります。これにはsuffixes
引数を指定します。
デフォルトの接尾辞c(".x", ".y")
は、長さ2の文字ベクトルとして渡すことでオーバーライドできます。
library(dplyr)
left_join(mtcars, mtcars[,c("mpg","cyl")],
by = c("cyl"),
suffix = c("_original", "_new")) %>%
head()
出力
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