13

如何o = c(1,2,3,4)多次绑定同一个向量以获得如下矩阵:

o = array(c(1,2,3,4,1,2,3,4,1,2,3,4), dim(c(4,3))
     [,1] [,2] [,3]
[1,]    1    1    1
[2,]    2    2    2
[3,]    3    3    3
[4,]    4    4    4

以一种更好的方式比:o = cbind(o,o,o)并且可能更概括(duplicate)?我需要这个来为textplot.

4

3 回答 3

16

R 回收。它非常环保:

o=c(1,2,3,4) 
> matrix(o,nrow = 4,ncol = 4)
     [,1] [,2] [,3] [,4]
[1,]    1    1    1    1
[2,]    2    2    2    2
[3,]    3    3    3    3
[4,]    4    4    4    4
于 2012-12-03T23:04:02.263 回答
15

您可以使用replicate

> o = c(1,2,3,4) 
> replicate(4, o)
     [,1] [,2] [,3] [,4]
[1,]    1    1    1    1
[2,]    2    2    2    2
[3,]    3    3    3    3
[4,]    4    4    4    4
于 2012-12-03T23:11:16.803 回答
0

你可以使用外

outer(1:4,1:4,function(x,y)x)
     [,1] [,2] [,3] [,4]
[1,]    1    1    1    1
[2,]    2    2    2    2
[3,]    3    3    3    3
[4,]    4    4    4    4
于 2012-12-03T23:57:12.503 回答