R语言学习笔记8-集合运算

一、交集

使用intersect计算两个向量的交集:

1
2
3
4
5
6
7
8
x=1:10
y=3:15
z=5:9
# 定义x, y, z三个向量
intersect(x,y)
# 3 4 5 6 7 8 9 10
intersect(x,y,z)
# Error in intersect(x, y, z) : 参数没有用(z) #若使用intersect计算三个向量的交集,则会报错

使用intersect计算两个以上向量的交集:

1
2
A <- Reduce(intersect,list(x,y,z)) # 求x, y, z三个向量的交集
5 6 7 8 9

二、并集

两个向量求并集

1
2
union(x,y)
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

多个向量求并集

1
2
b <- Reduce(union,list(x,y,z))
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

三、差集

1
2
3
4
setdiff(x,y) # x-y的差集,即x中存在但在y中不存在的元素
# 1 2
setdiff(y,x) # y-x的差集,即y中存在但在x中不存在的元素
# 11 12 13 14 15

四、检验集合是否相同

1
2
setequal(x,y)
# FALSE

五、检验元素是否属于集合

1
2
3
4
is.element(5,x)
# TRUE
> is.element(15,x)
# FALSE

六、检验集合B是否包含于集合A

1
2
3
4
all(x%in%y)
# FALSE
all(z%in%x)
# TRUE
  • 本文作者:括囊无誉
  • 本文链接: R/R语言学习笔记8/
  • 版权声明: 本博客所有文章均为原创作品,转载请注明出处!
------ 本文结束 ------
坚持原创文章分享,您的支持将鼓励我继续创作!