NA
のスライスを次元(次元)2に沿って3D配列に単純に追加(または追加)することはできますか?多次元配列のパディングまたはシフト
cbind(A,NA)
それは代わり2x3x2アレイの8×マトリックスをもたらす:
初期アレイは
A <- array(1:8,c(2,2,2))
として与えられると仮定私は当初、これが働くだろうと思いました。私は試しました
abind(A,NA,along=2)
しかし、それはエラーになります。
Iは
dimSlice <- dim(A)
dimSlice[2] <- 1
abind(A,array(NA,dimSlice),along=2)
背景
よりもはるかに簡単な解決策がある。このパディングは、一つの位置によってアレイをシフト「スライス及びパッド反対側を削除する」動作の一部として発生し望んでいますいくつかの次元に沿って、空いた位置にNA
要素で記入する。ベクトルA
の場合、1次元の等価物は、例えば、c(A[-1],NA)
となります。明示的なパディングサブオペレーションなしでこのような操作を行う簡単な方法があれば、さらに良いでしょう。 NA
S(?Extract
)でNA
の結果と
おそらく、あなたはNA' 'とサブセットだろうか? 'A [、c(1:dim(A)[2]、NA)、]'となります。それはあなたの "取り外しとパッド"に合っていますか? –
@alexis_lazだから、私は 'A [、c(2:ncol(A)、NA)、]'と左にシフトします。それは完璧だと思われる。それを答えに入れることができますか? – Museful