我有两个集合A和B.我想检查集合A是否是集合B的子集.我试过我知道R中的集合操作.我尝试了交叉,union,setdiff.但是,没有他们是有帮助的.例如,
A = c(1, 2, 3, 4)
Run Code Online (Sandbox Code Playgroud)
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.
akr*_*run 16
我们可以使用all与%in%
all(A %in% B)
#[1] TRUE
all(B %in% A)
#[1] FALSE
Run Code Online (Sandbox Code Playgroud)
另一种方法是检查是否A是B
setequal(intersect(A,B), A)
# [1] TRUE
Run Code Online (Sandbox Code Playgroud)
检查是否B是一个子集A
setequal(intersect(A,B), B)
# [1] FALSE
Run Code Online (Sandbox Code Playgroud)