1. ホーム
  2. r

[解決済み] dplyrは、複数の列または複合キーで結合できますか?

2022-06-03 05:11:47

質問

を実感しています。 dplyr v3.0では、異なる変数で結合することができます。

left_join(x, y, by = c("a" = "b") にかなう x.a まで y.b

しかし、変数の組み合わせで結合することは可能なのでしょうか、それともあらかじめ複合キーを追加しておく必要があるのでしょうか。

こんな感じ。

left_join(x, y, by = c("a c" = "b d") の連結にマッチするように、[ x.ax.c から[ ]へ y.by.d ]

どのように解決するのか?

tibble()を使用するように更新

に1より大きい長さの名前付きベクトルを渡すことができます。 byleft_join() :

library(dplyr)

d1 <- tibble(
  x = letters[1:3],
  y = LETTERS[1:3],
  a = rnorm(3)
  )

d2 <- tibble(
  x2 = letters[3:1],
  y2 = LETTERS[3:1],
  b = rnorm(3)
  )

left_join(d1, d2, by = c("x" = "x2", "y" = "y2"))