集合操作

在 R 中使用 data.table 进行数据表连接

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

集合操作函数

给定两个列相同的 data.table

  • fintersect():两者共有的行?
  • funion():两者的唯一行集合?

  • 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:保留两者中出现的副本数量:

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` 时去重

两个 data.table

  1. funion() 连接唯一行

三个或以上:

  1. rbind()rbindlist() 连接所有 data.table
  2. duplicated()unique() 识别并去重
在 R 中使用 data.table 进行数据表连接

让我们练习吧!

在 R 中使用 data.table 进行数据表连接

Preparing Video For Download...