1. ホーム
  2. r

[解決済み] 2つのカラムに基づく2つのデータフレームを結合するにはどうすればよいですか?[重複している]。

2022-08-05 04:05:14

質問

<余談
この質問には、すでにここで回答があります :
クローズド 3年前 .

を使えることは知っています。 plyr とその仲間でデータフレームを結合し merge もそうですが、今のところ、私は2つの列に基づいて複数の列を持つ2つのデータフレームをマージする方法を知らないのですか?

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

のドキュメントを参照してください。 ?merge のドキュメントを参照してください。

By default the data frames are merged on the columns with names they both have, 
 but separate specifications of the columns can be given by by.x and by.y.

これは明らかに merge は複数のカラムに基づいたデータフレームをマージすることを明確に意味しています。ドキュメントに示されている最後の例から。

x <- data.frame(k1=c(NA,NA,3,4,5), k2=c(1,NA,NA,4,5), data=1:5)
y <- data.frame(k1=c(NA,2,NA,4,5), k2=c(NA,NA,3,4,5), data=1:5)
merge(x, y, by=c("k1","k2")) # NA's match

この例は incomparables を使用することを意図していますが、複数のカラムを使用したマージも説明しています。のそれぞれに別々のカラムを指定することもできます。 xy を使って by.xby.y .