如何在R中将vector转换为matrix?

我有一个有49个数值的向量。 我想要一个7×7的数字matrix。

是否有一些方便的自动转换语句我可以使用,或者我必须做7正确的向量子集的列分配到一个新的matrix? 我希望有一些像c(myMatrix)相反的东西,当然可以给出我想要的行数和/或列数。

只要使用matrix

 matrix(vec,nrow = 7,ncol = 7) 

使用matrix一个优点,而不是像Gavin指出的那样简单地改变维度属性,就是可以使用matrix中的byrow参数来指定matrix是由行还是列来填充。

matrix实际上只是一个具有dim属性的向量(对于维度)。 所以你可以使用dim()函数向vec添加维度,然后vec将是一个matrix:

 vec <- 1:49 dim(vec) <- c(7, 7) ## (rows, cols) vec > vec <- 1:49 > dim(vec) <- c(7, 7) ## (rows, cols) > vec [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 8 15 22 29 36 43 [2,] 2 9 16 23 30 37 44 [3,] 3 10 17 24 31 38 45 [4,] 4 11 18 25 32 39 46 [5,] 5 12 19 26 33 40 47 [6,] 6 13 20 27 34 41 48 [7,] 7 14 21 28 35 42 49