これは以前の投稿 ( 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: