我有一个有49个数值的向量。我想要一个7x7的数字矩阵。
有没有某种方便的自动转换语句,我可以使用,或者我必须做7个单独的列分配正确的向量子集到一个新的矩阵?我希望有类似于c(myMatrix)的对立面,当然可以选择给出我想要的行数和/或列数。
发布于 2013-01-31 06:20:42
只需使用matrix即可
matrix(vec,nrow = 7,ncol = 7)使用matrix而不是像Gavin指出的那样简单地更改维度属性的一个优点是,您可以使用matrix中的byrow参数指定矩阵是按行填充还是按列填充。
发布于 2013-01-31 06:24:13
矩阵实际上只是一个具有dim属性(用于维度)的向量。因此,您可以使用dim()函数向vec添加维度,然后vec将成为一个矩阵:
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 49https://stackoverflow.com/questions/14614946
复制相似问题