R语言集合运算

来源:互联网 发布:spss数据转换正态分布 编辑:程序博客网 时间:2024/06/01 18:36

基础积累

集合运算

a<-1:10
b<-c(1,2,3)
c<-c(3,4,15)

求a和c的并集

union(a,c)
[1] 1 2 3 4 5 6 7 8 9 10 15

求a和b的交集

intersect(a,b)
[1] 1 2 3

求a-b

setdiff(a,b)
[1] 4 5 6 7 8 9 10

检验集合a,b是否相等

setequal(a,b)
[1] FALSE

检验元素12是否属于集合a

is.element(12,a)
[1] FALSE

检验集合A是否包含b

all(b%in%a)
[1] TRUE

检验c中的元素是否属于a

c%in%a
[1] TRUE TRUE FALSE

找出集合b中含有两个元素的子集(子集按列排)

combn(b,2)
[,1] [,2] [,3]
[1,] 1 1 2
[2,] 2 3 3

指定函数(如sum)对每个子集求和

combn(b,2,sum)
[1] 3 4 5

对a,b,c求交集

Reduce(intersect,list(a,b,c))
[1] 3