75

49 個の数値を持つベクトルがあります。代わりに 7x7 の数値行列が必要です。

使用できる便利な自動変換ステートメントはありますか、または正しいベクトルサブセットの7つの個別の列を新しい行列に割り当てる必要がありますか? c(myMatrix)もちろん、必要な行数や列数を指定するオプションを使用して、の反対のようなものがあることを願っています。

4

2 に答える 2

85

使用するだけmatrixです:

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

matrixGavin が指摘するように、ディメンション属性を単純に変更するのではなく、を使用する利点の 1 つは、byrow引数 inを使用して行列を行または列で埋めるかどうかを指定できることですmatrix

于 2013-01-30T22:20:41.920 に答える
49

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
于 2013-01-30T22:24:12.503 に答える