我有49个数值的矢量。 我想有一个7×7数字矩阵来代替。
是否有某种方便的自动转换语句,我可以使用的,或者我必须做正确的矢量子集的7只分别分配到一个新的矩阵? 我希望有类似的oposite c(myMatrix)
,与给予我想有行和/或列的数目,当然的选择。
我有49个数值的矢量。 我想有一个7×7数字矩阵来代替。
是否有某种方便的自动转换语句,我可以使用的,或者我必须做正确的矢量子集的7只分别分配到一个新的矩阵? 我希望有类似的oposite c(myMatrix)
,与给予我想有行和/或列的数目,当然的选择。
只需使用matrix
:
matrix(vec,nrow = 7,ncol = 7)
使用的一个优势matrix
,而不是简单地改变维度属性为加文指出的是,你可以指定是否矩阵按行或列使用填充byrow
在参数matrix
。
矩阵实际上只是一个与载体dim
属性(尺寸)。 所以,你可以添加尺寸vec
使用dim()
函数和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 49