我有一个清单:
l1 = list(1, 3, 5)
我有另一个清单:
l2 = list(list(1, 3), list(2, 6), list(3, 5), list(1, 5))
我想检查l1的每个2项子集(即list(1, 3)
,list(1, 5)
和list(3, 5)
)是否存在于l2中。
在这种情况下,我只想直接回答TRUE
。
我该怎么办?
答案 0 :(得分:3)
首先找到l1
的所有可能组合,作为列表列表返回。
cmb <- combn(l1, 2, simplify = FALSE)
根据我的原始答案,并根据@ alexis_laz的评论,你想要%in%
。
l2 <- list(list(1, 3), list(2, 6), list(3, 5), list(1, 5))
cmb %in% l2
# [1] TRUE TRUE TRUE
all(cmb %in% l2)
# [1] TRUE
但是当我们在评论中提及新的l2
OP时(我会称之为l3
),我们会得到
l3 <- list(list(1, 3), list(2, 6), list(3, 5), list(1, 6))
cmb %in% l3
# [1] TRUE FALSE TRUE
all(cmb %in% l3)
# [1] FALSE