0
我有兩個data.tables:分配與data.table聯接操作,多重匹配
dt1 = data.table(a=c('a','b'))
dt2 = data.table(a=c('a','b','b'))
合併dt1[dt2, on='a']
給
a
1: a
2: b
3: b
所以當我執行該操作dt1[dt2, on='a', c:= 1]
我希望
a c
1: a 1
2: b 1
3: b 1
但是我得到了
a c
1: a 1
2: b 1
這是爲什麼?
你說「加入後」,但它聽起來像分配發生在加入之前 - 是嗎? – sirallen
@sirallen它基於連接,例如。 'a1 < - data.table(a = 1:3); b1 < - data.table(a = 2:4); a1 [b1,c:= 1,on ='a']'。你可以看到這種方法的不同,'a1 [b1,c(.SD,c = 1),on ='a']' – akrun