简介

集合运算类似于特殊的表格补全,利用了集合的不重复性

数据补全:列操作

使用 left_join() 函数和 right_join() 函数可以用某个 tibble 为标准,进行表格的合并。

运行逻辑如下,以 left_join() 为例:

  • 确定连接键(Key): 寻找两个表中共同拥有的列(例如 ID)。

  • 扫描左表(x): 逐行读取左表中的每一条记录。

  • 匹配右表(y): 对于左表的每一行,去右表中寻找 ID 相同的行。

  • 合并结果:

    • 如果匹配成功: 将右表的对应列数据填入。

    • 如果匹配失败(右表没这行): 左表的该行依然保留,但右表新增的列会填充为 NA(或 SQL 中的 NULL)。

    • 如果右表有多个匹配项: 左表的该行会复制多份,分别对应右表的每一个匹配项(这可能导致结果表的行数增加)。

简单讲,就是在左表数据不变的情况下,实现右表数据的匹配和补充。

left_join()

行操作

一些函数可以进行行操作,比如:

  • union():取并集
  • intersect():取交集
  • setdiff():取补集