Скажите, у меня есть список матриц 3х2:
m1 <- matrix(1:6, nrow = 3)
m2 <- matrix(7:12, nrow = 3)
m3 <- matrix(13:18, nrow = 3)
m4 <- matrix(19:24, nrow = 3)
x <- list(m1,m2,m3,m4)
Если я хочу массив 4x3x2, я могу использовать пакет abind
как:
a <- abind::abind(x, along = 0)
Здесь dim(a)
соответствует требованию, и первый индексный элемент - мой оригинал m1
identical(a[1,,], m1)
[1] TRUE
Как я могу заполнить массив таким же образом в базе R (не спрашивайте, почему)? Я думал, что это сделает это (но нет!):
A <- array(unlist(x), dim = c(length(x), nrow(x[[1]]), ncol(x[[1]]) ) )
identical(A[1,,], m1)
[1] FALSE
Позволит ли aperm
настроить массив?