2015-01-15 77 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)