在 R 中使用 data.table 进行数据表连接
Scott Ritchie
Postdoctoral Researcher in Systems Genomics
给定两个列相同的 data.table:
fintersect():两者共有的行?funion():两者的唯一行集合?
fsetdiff():仅在某个 data.table 中的行?
提取同时存在于两个 data.table 中的行
fintersect(dt1, dt2)

默认会忽略重复行:
fintersect(dt1, dt2)

all = TRUE:保留两者中出现的副本数量:
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 进行数据表连接