Rで3Dマトリックスを設定しようとしています。これは簡単だと思います。ただし、これまでのところ解決策は見つかりませんでした。365x6x4 のマトリックスを作成したいとしましょう。また、マトリックス内の 1 つのエントリを変更する方法も重要です。値 204 を要素 [304,5,2] に割り当てたいとしましょう。あなたの答えに感謝します!
ありがとう!最高、F
これを試して:
ar <- array(someData, c(365, 6, 4));
ar[304,5,2] <- 204;
どこにいるのsomeData
だろう
someData <- rep(0, 365*6*4);
またはさらに良いかもしれません
someData <- rep(NaN, 365*6*4);
行列は、配列の特別な 2 次元のケースです。( のヘルプから引用?matrix
)。
だから、あなたが必要ですarray
:
x <- array(rep(1, 365*5*4), dim=c(365, 5, 4))
str(x)
num [1:365, 1:5, 1:4] 1 1 1 1 1 1 1 1 1 1 ...
特定の値を設定します。
x[305, 5, 2] <- 204
1 つのスライスを印刷します。
x[305, , ]
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 1 1 1 1
[3,] 1 1 1 1
[4,] 1 1 1 1
[5,] 1 204 1 1
この簡単な例を試してみてください (何が起こっているのかが明確になるように例をかなり小さくしました - あなたの正確な質問のためにそれを微調整する方法を以下に説明します!)...
m = array(1:60, dim=c(3,4,5))
m[2,1,5]
[1] 50
m[2,1,5] = -50
m[2,1,5]
[1] -50
m
3D配列全体を見るために入力してください:)
あなたの例では、初期配列を次のように設定しますm = array(NA, dim=c(365,6,4))
(これにより、最初にNAが入力されます-それを入力するデータがありますか?)そして、割り当てはm[304,5,2] = 204
もちろんです:)