R编程 - 生成多个列表的所有组合

时间:2016-02-24 10:25:49

标签: r

我去编程和学习时相当新。我想要做的是生成多个向量的所有可能组合,论坛上有类似问题的大量答案,但似乎没有任何东西与我的问题相符。

我有4个单独的列表(长度会根据输入而改变,但我认为这不会导致除增加输出数量之外的问题),即

 a<-c("a","b","c")
 b<-c("d","e","f","g","h")
 c<-c("i","j")
 d<-c("k","l","m")

现在,我需要所有可能的组合,包括

  • 来自a&amp;的两个项目。 d
  • b
  • 中的4件商品
  • 来自c
  • 的1件商品

我已经尝试combn(a,a,b,b,b,b,c,d,d),但这没有给出正确的答案    (清楚)。我也试过combn(combn(a,2),combn(b,4).......)但是    这似乎也没有给出正确的结果(加上    结果列表仅为每个订单项提供4个值,而不是必需的    9)。

任何人都可以提供帮助,我希望看到的是类似

的列表
1  a b d e f g i k l  
2  a b d e f g i k m
etc ................

感谢您的时间

1 个答案:

答案 0 :(得分:2)

expand.grid在这里可能很有用:

a<-c("a","b","c")
b<-c("d","e","f","g","h")
c<-c("i","j")  
d<-c("k","l","m")

expand.grid(a,a,b,b,b,b,c,d,d)