R で学ぶ data.table によるデータ結合
Scott Ritchie
Postdoctoral Researcher in Systems Genomics
同じ列を持つ2つの data.table に対して:
fintersect():2つの data.table に共通する行は何か?funion():2つの data.table 全体でのユニークな行の集合は何か?
fsetdiff():この data.table に固有の行は何か?
両方の data.table に存在する行を抽出します:
fintersect(dt1, dt2)

デフォルトでは重複行は無視されます:
fintersect(dt1, dt2)

all = TRUE:両方の data.table に存在するコピー数を保持します:
fintersect(dt1, dt2, all = TRUE)

最初の data.table にのみ存在する行を抽出します:
fsetdiff(dt1, dt2)

デフォルトでは重複行は無視されます:
fsetdiff(dt1, dt2)

all = TRUE:余分なコピーをすべて返します:
fsetdiff(dt1, dt2, all = TRUE)

いずれかの data.table に存在する全行を抽出します:
funion(dt1, dt2)

デフォルトでは重複行は無視されます:
funion(dt1, dt2)

all = TRUE:全行を返します:
funion(dt1, dt2, all = TRUE) # rbind()

2つの data.table の場合:
funion() を使用してユニークな行を結合する3つ以上の場合:
rbind() または rbindlist() で全 data.table を結合するduplicated() と unique() を使用して重複を特定・削除するR で学ぶ data.table によるデータ結合