[英]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
并指定array
的dim
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.