簡體   English   中英

R中的矩陣矩陣(作為列表)

[英]matrix of matrices (as a list) in R

假設我有 3 個矩陣CWS

C <- matrix(1:3)
W <- matrix(2:4)
S <- matrix(3:5)

我想用這些矩陣作為元素制作一個矩陣。 說矩陣K ,但矩陣的每個元素K是一個矩陣本身。 就像矩陣列表一樣工作,而是以矩陣形式。 IE:

> K
      [,1] [,2] [,3]
[1,]    C    0   0
[2,]    0    W   S

CWS都是存儲在較大矩陣K矩陣對象。

最終,我希望能夠使用矩陣乘法,如K %*% K或類似的。

沒有很多類可以作為 R 矩陣中的元素。 特別是,依賴屬性進行行為的對象不能是保留其基本特征的對象。 具有諷刺意味的是,這包括矩陣本身,因為它們的行為是由維度(維度)屬性控制的。 該排除適用於日期、因素和專用列表,例如數據框。 您可以將列表作為可索引項目包含在矩陣中,但正如@thelatemail 的評論指出的那樣,這會有些笨拙。

> C <- matrix(0, 3,2)
> W <- matrix(1, 4,5)
> S <- matrix(2, 6,7)
> bigM <- matrix( list(), 2, 3)
> bigM[1,1] <- list(C)
> bigM[2,2] <- list(W)
> bigM[2,3] <- list(S)
> bigM
     [,1]      [,2]       [,3]      
[1,] Numeric,6 NULL       NULL      
[2,] NULL      Numeric,20 Numeric,42
> bigM[2,3][[1]][42]
[1] 2

請注意,在使用[2,3]其提取為列表后,需要使用[[1]]提取矩陣本身。 只有在該附加步驟之后,您才能獲得矩陣中的第 42 項,如果您選擇按row,column索引引用它,也應該是第[6,7]項。

暫無
暫無

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

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