无法将矢量重新整形为矩阵

时间:2014-03-14 13:56:05

标签: r

我尝试将矢量y重新整形为矩阵yy,但它没有这样做:

> dim(y)
[1] 192   1
> class(y)
[1] "matrix"
> yy=as.matrix(y, nrow = 16, ncol = 12, byrow = TRUE)
> dim(yy)
[1] 192   1

我想知道我哪里错了?谢谢!

1 个答案:

答案 0 :(得分:1)

假设你有一个矩阵y

> y <- matrix(1, 192, 1:192)
> dim(y)
[1] 192   1
> class(y)
[1] "matrix"

您可以使用matrix()功能重新整形:

> newy <- matrix(y, nrow = 16, ncol = 12, byrow = TRUE)
> dim(newy)
[1] 16 12
> class(newy)
[1] "matrix"

关于as.matrix()何时有效的后续问题,这是一种方法。首先创建一个向量x

> x <- 1:192
> class(x)
[1] "integer"

现在您可以将此向量转换为包含as.matrix()的矩阵:

> newx <- as.matrix(x)
> dim(newx)
[1] 192   1
> class(newx)
[1] "matrix"