1

これは以前の投稿 ( How to join (merge) data frames (inner, outer, left, right)? )の複製で、data.table()ではなくdata.frame().

2 つのデータ テーブルがあるとします。

library(data.table)
dt1 = data.table(CustomerID=c(1:6),Product=c(rep("Toaster",3),rep("Radio",3)))
dt2 = data.table(CustomerID=c(2,4,6),State=c(rep("Alabama",2),rep("Ohio",1)))            

dt1
   CustomerID Product
1:          1 Toaster
2:          2 Toaster
3:          3 Toaster
4:          4   Radio
5:          5   Radio
6:          6   Radio
dt2
   CustomerID   State
1:          2 Alabama
2:          4 Alabama
3:          6    Ohio

setkey(dt1,CustomerID)
setkey(dt2, CustomerID)            

merge()a で使用するデフォルトdata.tableは右結合です。他の構文は何ですか?

#Outer join:

#Right outer (data.table default): 
dtro <- merge(dt1,dt2); dtro 

   CustomerID Product   State
1:          2 Toaster Alabama
2:          4   Radio Alabama
3:          6   Radio    Ohio

#Left outer:

#Cross join:  
4

0 に答える 0