49個の数値を持つベクトルがあります。代わりに7x7の数値行列が必要です。
使用できる便利な自動変換ステートメントがありますか、または正しいベクトルサブセットの新しい行列への7つの個別の列割り当てを行う必要がありますか?もちろん、必要な行数や列数を指定するオプションを備えたc(myMatrix)
の反対のようなものがあることを願っています。
matrix
を使用するだけです:
matrix(vec,nrow = 7,ncol = 7)
Gavinが指摘するように、ディメンション属性を単に変更するのではなく、matrix
を使用する利点の1つは、byrow
のmatrix
引数を使用して、行列を行または列のどちらで埋めるかを指定できることです。
マトリックスは、実際には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 49