繁体   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