2015-01-15 116 views
1

我在R中有一個矩陣操縱問題,我覺得之前已經被問過,但是我還沒有成功搜索。所以在這裏。R:根據擴展的兩個列表構造一個矩陣

我有兩個向量:

x<- c(1,2,3) 
y<- c(9, 10) 

我想構造一個6X2矩陣:

1,9 
1,10 
2,9 
2,10 
3,9 
3,10 

任何建議(以及你的耐心)表示讚賞。

回答

4

你可以嘗試expand.grid

as.matrix(expand.grid(y,x)[2:1]) 
+0

真棒!不熟悉expand.grid,所以我要弄清楚這裏發生了什麼,但是這個工作正常,我一直無法打破它。謝謝! – Aengus 2015-01-15 17:18:25

+0

@Angus expand.grid將創建這兩個向量的所有組合。在這裏,我使用了'(y,x)',因爲它會得到相同的順序,後來我改變了列的順序('[2:1]')。 – akrun 2015-01-15 17:21:27

+0

指向expand.grid的指針確實是關鍵。這個例子只是簡單地得到一般方法而沒有讓討論陷入困境。有點尷尬,我不熟悉expand.grid,因爲它似乎已經明確寫出來處理我的問題(構建一個因子矩陣)。好吧。 – Aengus 2015-01-15 23:43:04

3

嘗試

cbind(rep(x, each = 2), y)