R语言:集合运算
输入三个向量:
> a=c(3,5,7)
> b=5:9
> c=seq(3,7,2)
> d=c(3L,5L,7L)
检查向量中是否有某元素
> is.element(2,a)
[1] FALSE
> is.element(3,a)
[1] TRUE
> 3 %in% a
[1] TRUE
取交集
> intersect(a,b)
[1] 5 7
取并集
> union(a,b)
[1] 3 5 7 6 8 9
取差集
> setdiff(a,b)
[1] 3
> setdiff(b,a)
[1] 6 8 9
> setdiff(b,b)
integer(0)
检查两向量是否相同
> setequal(a,b)
[1] FALSE
> setequal(a,c)
[1] TRUE
> d=c(3L,5L,7L)
> setequal(a,d)
[1] TRUE
检查a是否为b的子集
> all(a %in% b)
[1] FALSE