我一直在努力解决这个问题一天左右,所以我想我会问你的帮助。我以为我接近一个解决方案,但我并不像我希望的那样接近,而且我在截止日期前工作,所以我会喜欢一些指导。
我正在尝试从更大的集合中提取所有可能的子集组合。
假设我们的原始集包含元素(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
注意:我知道有很多关于提取可能的排列/组合的帖子,但是我找不到能够帮助我解决这个问题的方法。