8

最初にNA値を持つk行列の配列を作成し、次にkをループして、配列を介して各k番目の行列を更新するような方法で、行列の配列を作成したいと思います。

助言がありますか?

4

2 に答える 2

11

私はおそらくポイントを逃していますが、しません:

k = 2; n=3; m = 4
array(NA, c(n,m,k))

, , 1

     [,1] [,2] [,3] [,4]
[1,]   NA   NA   NA   NA
[2,]   NA   NA   NA   NA
[3,]   NA   NA   NA   NA

, , 2

     [,1] [,2] [,3] [,4]
[1,]   NA   NA   NA   NA
[2,]   NA   NA   NA   NA
[3,]   NA   NA   NA   NA

あなたが欲しいものをあなたに与えますか?その後、通常どおりループできます。

R> for(k in 1:2){print(a[,,k])}
于 2013-02-20T20:31:34.610 に答える
2

用語に注意してください:-)。CSGillespieが指摘しているように、でNランクの配列を定義できますRlistまたは、各エントリに行列が含まれる変数を作成することもできます。後者の利点は、行列のサイズを変えることができることです。不利な点は、初期状態を作成するのがかなり苦痛になる可能性があることです。

例えば

mat1 <- matrix(NA, 3,5)
mat2 <- matrix(NA, 4,7)
matlist <- list(mat1=mat1,mat2=mat2)
于 2013-02-20T21:49:35.660 に答える