私は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
です:)