R语言:集合运算

此生再无相见时 提交于 2020-01-29 11:42:11

输入三个向量:

> 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!