集合演算

R で学ぶ data.table によるデータ結合

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

集合演算関数

同じ列を持つ2つの data.table に対して:

  • fintersect():2つの data.table に共通する行は何か?
  • funion():2つの data.table 全体でのユニークな行の集合は何か?

  • fsetdiff():この data.table に固有の行は何か?

R で学ぶ data.table によるデータ結合

集合演算:`fintersect()`

両方の data.table に存在する行を抽出します:

fintersect(dt1, dt2)

R で学ぶ data.table によるデータ結合

`fintersect()` と重複行

デフォルトでは重複行は無視されます:

fintersect(dt1, dt2)

R で学ぶ data.table によるデータ結合

`fintersect()` と重複行

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

fintersect(dt1, dt2, all = TRUE)

R で学ぶ data.table によるデータ結合

集合演算:`fsetdiff()`

最初の data.table にのみ存在する行を抽出します:

fsetdiff(dt1, dt2)

R で学ぶ data.table によるデータ結合

`fsetdiff()` と重複行

デフォルトでは重複行は無視されます:

fsetdiff(dt1, dt2)

R で学ぶ data.table によるデータ結合

`fsetdiff()` と重複行

all = TRUE:余分なコピーをすべて返します:

fsetdiff(dt1, dt2, all = TRUE)

R で学ぶ data.table によるデータ結合

集合演算:`funion()`

いずれかの data.table に存在する全行を抽出します:

funion(dt1, dt2)

R で学ぶ data.table によるデータ結合

`funion()` と重複行

デフォルトでは重複行は無視されます:

funion(dt1, dt2)

R で学ぶ data.table によるデータ結合

`funion()` と重複行

all = TRUE:全行を返します:

funion(dt1, dt2, all = TRUE) # rbind()

R で学ぶ data.table によるデータ結合

複数の `data.table` 結合時の重複削除

2つの data.table の場合:

  1. funion() を使用してユニークな行を結合する

3つ以上の場合:

  1. rbind() または rbindlist() で全 data.table を結合する
  2. duplicated()unique() を使用して重複を特定・削除する
R で学ぶ data.table によるデータ結合

では、練習しましょう!

R で学ぶ data.table によるデータ結合

Preparing Video For Download...