R:根据扩展的两个列表构造一个矩阵
问题描述:
我在R中有一个矩阵操纵问题,我觉得之前已经被问过,但是我还没有成功搜索。所以在这里。R:根据扩展的两个列表构造一个矩阵
我有两个向量:
x<- c(1,2,3)
y<- c(9, 10)
我想构造一个6X2矩阵:
1,9
1,10
2,9
2,10
3,9
3,10
任何建议(以及你的耐心)表示赞赏。
答
你可以尝试expand.grid
as.matrix(expand.grid(y,x)[2:1])
答
尝试
cbind(rep(x, each = 2), y)
真棒!不熟悉expand.grid,所以我要弄清楚这里发生了什么,但是这个工作正常,我一直无法打破它。谢谢! – Aengus 2015-01-15 17:18:25
@Angus expand.grid将创建这两个向量的所有组合。在这里,我使用了'(y,x)',因为它会得到相同的顺序,后来我改变了列的顺序('[2:1]')。 – akrun 2015-01-15 17:21:27
指向expand.grid的指针确实是关键。这个例子只是简单地得到一般方法而没有让讨论陷入困境。有点尴尬,我不熟悉expand.grid,因为它似乎已经明确写出来处理我的问题(构建一个因子矩阵)。好吧。 – Aengus 2015-01-15 23:43:04