R 的 data.table 資料合併
Scott Ritchie
Postdoctoral Researcher in Systems Genomics
給定兩個具有相同欄位的 data.tables:
fintersect():兩個 data.table 共同擁有哪些列?funion():跨這兩個 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()

兩個 data.table:
funion() 串接不重複列三個以上:
rbind() 或 rbindlist() 串接所有 data.tableduplicated() 與 unique() 辨識並移除重複R 的 data.table 資料合併