組合

2014-11-05 49 views
0

我有一些矢量這樣組合

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

如果我正確理解你的問題,你可能尋找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每個組合

一行