JoinAcross
JoinAcross[{a1,a2,…},{b1,b2,…},key]
key に関連付けられている値が同じである,連想 aiと bjのペアを結合することによって得られる連想のリストを与える.
JoinAcross[{a1,a2,…},{b1,b2,…},{key1,key2,…}]
すべてのキー keyiに関連付けられている値が同じである場合にのみ,連想のペアを結合する.
JoinAcross[{a1,a2,…},{b1,b2,…},keyakeyb]
aiの keyaに関連付けられている値が,bjの keybに関連付けられているものと同じである,連想のペア aiと bjを結合する.
JoinAcross[{a1,a2,…},{b1,b2,…},{keya1keyb1,…}]
対応するペアの値が合致する,連想のペアを結合する.
JoinAcross[alist,blist,keyspec,"joinspec"]
joinspec を使って,欠落している要素を含む連想がいつ生成されるようにするかを決定する.
詳細とオプション
- JoinAcross[{a1,a2,…},{b1,b2,…},keyspec]は,事実上SQL JOINと同じものを実装し,keyspec で指定された列間で,行 ai と bj を持つ2つの表を結合する.
- JoinAcrossのキー指定は,それが文字列でなければKeyで囲まなければならない.
- JoinAcrossは事実上,フィルタを掛けられたFlatten[Outer[Join,alist,blist]]を生成する.
- デフォルトでJoinAcrossは,SQL的には,「内部結合」する.
- 次の形式の"joinspec"が,連想のペア aiと bjに異なる動作を指定する.
-
"Inner" 値がマッチする aiと bjのみを保つ(デフォルト) "Left" マッチする bjのない aiを許す "Right" マッチする ajのない biを許す "Outer" マッチしない aiと bjの両方を許す - 対応する値がない場合には,代りにMissing["Unmatched"]が使われる.
- オプションKeyCollisionFunctionを使って,結合するようには指定されていないにもかかわらず同じキーを持つ要素 aiおよび bjをどのように扱うかを指定することができる.
- KeyCollisionFunctionで使用可能な設定
-
None 両方の要素を除去する Left 左要素だけを含める(デフォルト) Right 右要素だけを含める func func を適用して新たなキーペアを生成する
例題
すべて開くすべて閉じる例 (11)
"Inner"結合(デフォルト)では,マッチする連想のみが繋がれる:
"Left"結合では,左側のリストからのマッチしない項目も含まれる:
"Right"結合では,右側のリストからのマッチしない項目も含まれる:
"Outer"結合では,マッチしないすべての項目が含まれる:
キー b のマッチングが結合に使われないときは,デフォルトで,このキーに対して左側の値が使われる:
KeyCollisionFunctionを使って,衝突するどちらのキーの値を返すかを指定する:
アプリケーション (1)
テキスト
Wolfram Research (2014), JoinAcross, Wolfram言語関数, https://reference.wolfram.com/language/ref/JoinAcross.html (2015年に更新).
CMS
Wolfram Language. 2014. "JoinAcross." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/JoinAcross.html.
APA
Wolfram Language. (2014). JoinAcross. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/JoinAcross.html