dplyr也提供了集合操作函数,实际上是对base包中的集合操作的重写,但是对数据框和其它表格形式的数据操作更加高效。语法如下:
取两个集合的交集
intersect(x,y, ...)
取两个集合的并集,并进行去重
union(x,y, ...)
取两个集合的并集,不去重
union_all(x,y, ...)
取两个集合的差集
setdiff(x,y, ...)
判断两个集合是否相等
setequal(x, y, ...)
mtcars$model <- rownames(mtcars)
first <- mtcars[1:20, ]
second <- mtcars[10:32, ]
#取两个集合的交集
intersect(first, second)
#取两个集合的并集,并去重
union(first, second)
#取两个集合的差集,返回first中存在但second中不存在的记录
setdiff(first, second)
#取两个集合的交集,返回second中存在但first中不存在的记录
setdiff(second, first)
#取两个集合的交集, 不去重
union_all(first, second)
#判断两个集合是否相等,返回TRUE
setequal(mtcars, mtcars[32:1, ])
Reference
网友评论