簡體   English   中英

將列表的(m,m,n)個數組合並為一個(m,m,n)個數組

[英]Combining (m,m,n) arrays of the lists into an (m,m,n) array

什么是將存儲在一系列列表中的m,m,n維數組組合成一個m,m,n維數組的快捷方法?

例:

這是三個具有m,m,n維數組的列表:

list1 <- array (1, dim = c(5, 5, 3)) 
list2 <- array (2, dim = c(5, 5, 3)) 
list3 <- array (3, dim = c(5, 5, 3))

m,m,n維的組合列表:

lists <- list(list1 = list1, list2 = list2, list3 = list3)

我想對“列表”對象執行一項功能,該功能為我提供了一個m,m,n維數組( 例如,“ want.to.get”輸出

want.to.get <- array (rep (1:3, each = 5*5*3), dim = c(5,5,9))
library(abind)
abind(lists, new.names = list(NULL, NULL, 1:9))

或者您可以unlist並指定arraydim

dim1 <- dim(lists[[1]])*c(1,1,length(lists))
ar1 <- array(unlist(lists, use.names=FALSE), dim=dim1)
all.equal(ar1, want.to.get)
#[1] TRUE

暫無
暫無

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

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