【发布时间】:2014-11-20 19:41:27
【问题描述】:
我有下面的清单。
假设,我想要 group1 中的 1 个元素、group2 中的 2 个元素、group3 中的 3 个元素、第 4 - 6 组中的 1 个元素。如果不允许元素重复,那么获取所有不同元素组合的最类似于 R 的方法是什么。
例如:
(A1, B1, B2, C1, C2, C3, D1, E1, F1) 可以,但(A1, B1, B1, C1, C2, C3, D1, E1, F1) 不行?
itemNames <- list(group1 = c("A1", "A2", "A3", "A4", "A5", "A6"),
group2 = c("B1", "B2", "B3", "B4", "B5", "B6"),
group3 = c("C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", "C11", "C12"),
group4 = c("D1", "D2", "D3", "D4", "D5", "D6"),
group5 = c("E1", "E2", "E3", "E4"),
group6 = c("F1", "F2", "F3", "F4"))
显然,我可以用 9 个嵌套的 for 循环来做到这一点——浪费。我在玩melt 和reshape2,但还没有到任何地方。谢谢!
【问题讨论】:
-
任何项目都可能属于多个组吗?
-
@blakeoft -- 没有。即使“价值”是,它仍然应该算作一个单独的实体。
-
好的。 6组呢?我假设它也应该只有一次平局。
-
@blakeoft -- 是的。抱歉,我已经编辑了帖子。
-
标题说“所有组合”,这将是很多。您的意思是可能是其中的随机样本吗?
标签: r list combinations