来自不同载体的组合

时间:2014-11-05 23:01:13

标签: r vector combinations

我有一些像这样的载体

V1 = c(1,2,3,4,5)
V2 = c(7,8,9,10,11)
V3 = c(15,16,17,18,19)
V4 = c(3,4,5,6,7)

我想从这些矢量看到所有可能的组合,看起来像[V1[i],V2[j],V3[k],v4[z]],总计最多3 + 9 + 17 + 5。 这与重复R: sample() command subject to a constraint有点不同,因为我想从每个向量中获得一个元素的所有组合,而不是从一个向量获得所有组合。一个可能的解决方案应该从每个向量中有一个元素。

例如,以下是解决方案

[1,11,17,5] 
[2,8,18,6]
[5,9,15,5] 
[3,11,16,3]

还有很多其他人。解决方案可以有重复的值,这很好。

有关如何在R中实现此功能的任何想法?我是R的初学者,我希望能得到一些答案。

1 个答案:

答案 0 :(得分:1)

如果我理解您的问题,您可能正在寻找expand.grid

> expand.grid( V1=V1, V2=V2, V3=V3, V4=V4 )[1:5,]
  V1 V2 V3 V4
1  1  7 15  3
2  2  7 15  3
3  3  7 15  3
4  4  7 15  3
5  5  7 15  3
...

这将产生所有data.frame,每个组合一行