提取更大集合的所有可能组成子集

时间:2015-04-30 17:14:35

标签: r list combinations

我一直在努力解决这个问题一天左右,所以我想我会问你的帮助。我以为我接近一个解决方案,但我并不像我希望的那样接近,而且我在截止日期前工作,所以我会喜欢一些指导。

我正在尝试从更大的集合中提取所有可能的子集组合。

假设我们的原始集包含元素(A,B,C)。我想编写一个返回子集组合的函数:

1 - (A),(B),(C)

2 - (A),(B和C)

3 - (B),(A和C)

4 - (C),(A和B)

订单对我来说无关紧要;即,(C),(A和B)没有任何不同 (C),(B和A)。

根据我的统计,这是原始集合的全部内容,但当然随着元素数量的增加,它会迅速失控。我试图将它应用于具有17个不同元素的向量。

在我的脑海中,首选的R输出看起来像这样,但我并不特别坚持列表列表,如果有更好的方法返回输出传达相同的信息(即区分实例)哪些单个元素被分组为子集,其中的元素来自它们自己的子集的实例。我确信有,这只是我在自己的解决方案上工作的一团糟。

originalvector<-c(A,B,C)

[[1]]
[[1]][[1]]
[1] A B C

[[2]]
[[2]][[1]]
[1] A

[[2]]
[[2]][[2]]
[2] B C

[[3]]
[[3]][[1]]
[1] B

[[3]]
[[3]][[2]]
[2] A C

[[4]]
[[4]][[1]]
[1] C

[[4]]
[[4]][[2]]
[1] A B

注意:我知道有很多关于提取可能的排列/组合的帖子,但是我找不到能够帮助我解决这个问题的方法。

0 个答案:

没有答案