我有两组A和B.我想检查A是否是B组的子集。我试过我知道R中的set操作。我试过了intersect,union,setdiff。但是,没有他们是有帮助的。例如,
A = c(1, 2, 3, 4)
B = c(1, 2, 3, 4, 5)
我正在寻找一个返回TRUE或FALSE的函数。
我使用A %in% B
并比较总和和长度,它完成相同的工作。但我觉得有一种更好的做法。
length(A %in% B) == sum(A %in% B)
返回TRUE
和
length(B %in% A) == sum(B %in% A)
返回FALSE
。
答案 0 :(得分:13)
我们可以将all
与%in%
all(A %in% B)
#[1] TRUE
all(B %in% A)
#[1] FALSE
答案 1 :(得分:2)
另一种方法是检查A
是B
setequal(intersect(A,B), A)
# [1] TRUE
检查B
是A
setequal(intersect(A,B), B)
# [1] FALSE