所以我有一个数组列表,非常大。简化版本如下所示:
> array_list <- list ( 'a1' = matrix(c(1,2,3,4),c(2,2)),
'a2' = matrix(c(5,6,7,8),c(2,2)))
我可以用它abind
来制作一个 3 维数组:
> array3 <- abind(array_list, along=0)
我可以给出维度坐标名称:
> array3 <- abind(array_list, along=0,
new.names=list(c('one','two'), c('a','b'), c('u','v')))
> str(array3)
num [1:2, 1:2, 1:2] 1 5 2 6 3 7 4 8
- attr(*, "dimnames")=List of 3
..$ : chr [1:2] "one" "two"
..$ : chr [1:2] "a" "b"
..$ : chr [1:2] "u" "v"
但我不在乎坐标。我真正想做的是给维度本身命名(就像列表一样)。也就是说,像这样:
array3 <- abind(array_list, along=0, dim.names=c('array', 'x', 'y')
R> str(array3)
num [1:2, 1:2, 1:2] 1 5 2 6 3 7 4 8
- attr(*, "dimnames")=List of 3
..$ array: chr [1:2] "a1" "a2"
..$ x : NULL
..$ y : NULL
(注意 之间的位$ ... :
)
这可能吗?如果是这样,怎么做?