我想在R中進行交叉加入。如果我們沒有條件,那麼data.table
程序包將執行此操作。但是R中這個SQL查詢的等價物是什麼?交叉加入R與過濾/匹配
Select table1.value as value1, table2.value as value2
from table1 cross join table2 where table1.id = table2.id
考慮這個例子
table1:
id value
1 1
1 2
2 1
3 1
3 3
3 4
table2:
id value
1 5
1 4
2 1
3 4
3 3
在這種情況下,我需要的輸出是:
value1 value2
1 5
1 4
2 5
2 4
1 1
1 4
1 3
3 4
3 3
4 4
4 3
請注意,無論是ID列是唯一的,也不是結果集特有的行。
我不明白你的答案。你在問嗎?我正在嘗試在R中執行此操作,而不是在SQL中執行此操作。 –
您永遠無法在索引中以任何語言交叉連接。這是因爲交叉連接的定義是基於所有可能的組合進行連接而不考慮任何索引 – bramtayl
您是我的朋友,完全缺乏交叉連接如何工作的任何知識。請閱讀此鏈接,並避免提供有關您不知道的事情的答案和評論:[link](https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljcrossjoin.html) –