2
我遇到以下情況。甲data.table看起來如下R擴展出data.table
x = data.table(
id1 = c('a','b','c'),
id2 = c('x','y','x'),
val = c(0.2,0.3,0.5))
我有兩個其他數據表,給的值之間的映射在id1
和id2
看起來像下面
id1.dt = data.table(
id1 = c('a','a','a','b','b','c'),
fid = c('1232','3224','3434','234','231','332')
)
和
id2.dt = data.table(
id2 = c('x','x','y','y'),
fid = c('334','443','344','24')
)
我希望能夠做的是通過保留values
co擴大上述data.table x
這樣我就可以得到一個完整的交叉連接,但是通過使用fid
列。因此,預期的最終表
id1 id2 val
1232 334 0.2
1232 443 0.2
3224 334 0.2
3224 443 0.2
3434 334 0.2
3434 443 0.2
...
基本上,在x
我想利用id1
和id2
所有FID值與其他兩個表,並保留val
值的每一行。我嘗試過使用CJ
,但沒有達到目標。任何幫助讚賞。
我喜歡這兩種解決方案,但特別是這種合併(合併(尼斯! –