【上一篇: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
> <dbl> <dbl>
> 1 1 1
Note that we get 3 rows, not 4
union(df1, df2)
> # A tibble: 3 x 2
> x y
> <dbl> <dbl>
> 1 1 1
> 2 2 1
> 3 1 2
setdiff(df1, df2)
> # A tibble: 1 x 2
> x y
> <dbl> <dbl>
> 1 2 1
setdiff(df2, df1)
> # A tibble: 1 x 2
> x y
> <dbl> <dbl>
> 1 1 2
    当然,base R中的intersect()等函数的输入是向量,用来比较向量的交集、并集和差集。
[【上一篇:47.关于Filtering joins类函数】](https://www.jianshu.com/p/0054597f8887)
[【下一篇:49.关于字符串的基础知识和一些字符串操作函数】](https://www.jianshu.com/p/9a09bb6599bf)
网友评论