簡體   English   中英

在R中設置3D矩陣並訪問某些元素

[英]Setting up a 3D matrix in R and accessing certain elements

我想在R中設置一個3D矩陣。我想這很簡單。 但是,到目前為止我還沒有找到解決方案。 假設我們要創建一個365x6x4矩陣。 同樣重要的是我如何更改矩陣中的一個條目。 假設我們想要將值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);  

矩陣是數組的特殊二維情況。 (引用?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

打印一片:

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 ,當然:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM