[英]Combining matrices with different dimensions in an array in R
我想知道是否有辦法將兩個不同維度的矩陣組合成一個數組。 我知道有 abind() 函數,但該函數不允許矩陣的不同維度。 我需要這個,因為我使用 JAGS(使用 R2jags 或 rjags)並且這些包不允許數據以列表形式存在。 但是,當我輸入數組時它確實有效。
當我有以下兩個矩陣時:
a <- matrix(0, 3, 2)
b <- matrix(0, 4, 6)
a
[,1] [,2]
[1,] 0 0
[2,] 0 0
[3,] 0 0
b
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
[3,] 0 0 0
[4,] 0 0 0
理想情況下,我會這樣:
abind(a,b, along = 3)
, , 1
[,1] [,2]
[1,] 0 0
[2,] 0 0
[3,] 0 0
, , 2
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
[3,] 0 0 0
[4,] 0 0 0
您可以嘗試將矩陣視為一維數組,從技術上講,它們確實如此。
例如,如果您查看3X3
矩陣'a'
並嘗試訪問a[2][1]
,則它等效於a[2*3 + 1]
。 您可以使用它來遍歷矩陣並將它們組合起來。
d=list(a,b)
我希望這就是你想要的,就像這樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.