【发布时间】:2021-05-20 10:16:40
【问题描述】:
说,我有两个向量:
A <- c(1,0,0,1,0,0,0)
和
B <- c(1,0,0,1,0,1,1)
根据我的定义,A 是 B 的子集,(两个向量仅包含二进制值)当且仅当
-
A和B具有相同的长度,因此具有相同数量的元素; -
A应该有0或1在任何地方B有1 -
在
B有0s 的所有地方,A只能有0s。
现在我希望编写一个代码来验证以下内容中的某些内容
if(A subset of B){}
谢谢!
【问题讨论】:
-
A的子集B到底是什么意思?例如,A至少应该有多少个元素在B中才能满足您的问题? -
如果
A只需要一个元素等于B 中的另一个元素在同一空间,那么我想这可以工作:sum(A == B) > 1 -
@bird 1- A 和 B 应该具有相同的长度。 2- 元素是二元的 3- 向量 A 是 B 的子集当且仅当它在完全相同的位置与 B 具有相同或更少数量的 1。例如 A
-
@AnilGoyal 我不认为您对
A should have either 0 or 1 at all places wherever B has 1的问题的编辑是正确的。我认为它应该至少有一个匹配的 1。 -
@Carl 是
A <- c(0,0,0,0)也是B <- c(0,1,1,0)的子集?