48.关于Set Operations-集合操作函数

【上一篇:47.关于Filtering joins类函数】
【下一篇:49.关于字符串的基础知识和一些字符串操作函数】

    Set Operations类函数(集合操作类函数)包括intersect()、union()、setdiff(),用来比较两个数据框,返回两个数据框行的交集、并集和差集。
    也就是将数据框中每一行的所有列作为一个整体,必须判断一整行完全相同才认为两行相同。这就要求输入的两个数据框的列完全相同。
    Usage和使用示例:

intersect(x, y, copy = FALSE, ..., all = FALSE)
union(x, y, copy = FALSE, ..., all = FALSE)
setdiff(x, y, copy = FALSE, ..., all = FALSE)

all:如果为TRUE,则在输出中包括所有匹配项,而不仅仅是惟一的行。

df1 <- tribble(
  ~x, ~y,
   1,  1,
   2,  1
)
df2 <- tribble(
  ~x, ~y,
   1,  1,
   1,  2
)

intersect(df1, df2)

> # A tibble: 1 x 2

> x y

>

> 1 1 1

Note that we get 3 rows, not 4

union(df1, df2)

> # A tibble: 3 x 2

> x y

>

> 1 1 1

> 2 2 1

> 3 1 2

setdiff(df1, df2)

> # A tibble: 1 x 2

> x y

>

> 1 2 1

setdiff(df2, df1)

> # A tibble: 1 x 2

> x y

>

> 1 1 2


    当然,base R中的intersect()等函数的输入是向量,用来比较向量的交集、并集和差集。

[【上一篇:47.关于Filtering joins类函数】](https://www.jianshu.com/p/0054597f8887)
[【下一篇:49.关于字符串的基础知识和一些字符串操作函数】](https://www.jianshu.com/p/9a09bb6599bf)

你可能感兴趣的:(48.关于Set Operations-集合操作函数)