2013-06-02 56 views
1

我想要不同的矩陣保存到一個變量,像一個陣列,例如: 我有基質1:如何使用R在變量中保存不同的矩陣?

ma1<-matrix(c(1:8),4) 

和基質2:

ma2<-matrix(c(2,1,3,4,5,6,4,5),4) 

現在,我想保存這些矩陣轉換成一個多維變量,所以這樣的:

multiarray<-0 
multiarray[1]<-ma1 
multiarray[2]<-ma2 

(我想用一個循環做到這一點以後)

重要的是,單個輸出例如多陣列[1]又是一個矩陣。 我該怎麼做?

+1

您可以有多維數組,但通常這最好用一個列表完成。 –

回答

3

一個簡單的列表就足夠了

ma1<-matrix(c(1:8),4) 
ma2<-matrix(c(2,1,3,4,5,6,4,5),4) 
ma3<-matrix(runif(8),4) 

要麼分配是這樣的:

multiarray = list(ma1,ma2); 

或循環

multiarray = list(); 
for(...){ 
    multiarray[[i]] = maX; 
} 

或名稱

multiarray = list();  
multiarray$something = ma3; # ma3 will implicitly have first index 1 

輸出是一個矩陣

multiarray[[1]] 
+0

這不起作用,如果我做multiarray [[1]] < - ma1和multiarray [[2]] < - ma2 我得到錯誤信息(德語):「mehr Elemente gegeben als zu ersetzen sind」像更多的元素給予替換 –

+0

啊好的,我想我必須把以下命令之前:multiarray <-list(NA) –

+0

是的,確切地說,首先將它定義爲一個列表。 multiarray < - list(); – Ogglord

相關問題