二次元バイナリ配列で三次元配列のサブセットを選択することは可能ですか? 値を選択にプッシュできるように、これを実行できるようにしたいと思います
たとえば、配列 dim(a) = (lat, long, time) があり、TRUE/FALSE 値でいっぱいの配列である dim(b) = (lat, long) で選択したいと考えています。私は次のようなことができるようにしたい:
> a <- array(c(1,2,3,4,5,6,7,8),c(2,2,2))
> b <- matrix(c(0,1,0,0), c(2,2))==TRUE
> a[[b]] <- 0
> a
, , 1
[,1] [,2]
[1,] 1 3
[2,] 0 4
, , 2
[,1] [,2]
[1,] 5 7
[2,] 0 8
編集a[b] <- 0
:わかりました。これはばかげた質問のように見えます。(単一の括弧)を使用すると、上記とまったく同じように機能することに気づきました。ただし、それは、スパンしたいディメンションが最後のディメンションである場合にのみ機能します。だから、もっと面白くするために:
スパンしたい次元が最初または2番目の次元である場合、どうすればこれを行うことができますか? もしdim(b)==(緯度、年)?