哪个元素在列表中包含1

时间:2017-12-20 15:41:18

标签: r list

我有一个按如下方式获得的数字列表:

 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 ...

1 个答案:

答案 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