我有一个按如下方式获得的数字列表:
sets <- lapply(1:5, function(x) combn(5,x))
我想在列表sets
中找到包含1(然后是2,3,4和5)的元素。此列表包含x in x的组合,x = 1,2,3,4,5。我想检查这些组合中的哪一个包含1.
例如,对于列表sets
,第一个包含它,但第二个到第五个不包含,第六个到第九个包含它,等等。所以我想得到一个指示这个的向量:TRUE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE ...
答案 0 :(得分:3)
通过基地R的想法可以是,
unlist(lapply(sets, function(i) colSums(i == 1) > 0))
给出了
[1] TRUE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
[22] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE TRUE