Как преобразовать список матриц в 3D матрицу? - PullRequest
0 голосов
/ 09 июня 2019

Функциональный способ сложения списка 2-мерных матриц в 3d-матрицу

↑ Из этого QI я узнал, что для этой задачи я могу использовать simplify2array.

Однако, этоне решает мою проблему.К сожалению, я просто не знаю, как описать проблему, не показывая ее на примере ...

l = list()
l[[1]] = matrix(1:110, nrow=10)
l[[2]] = matrix(110:1, nrow=10)
l = simplify2array(l)
dim(l)

Это печатает:

10 11 2

Проблема в том, что я хотел бы, чтобы размерыбыть установлен по-другому.Я бы хотел вместо этого dim(l) напечатать:

2 11 10

Как этого добиться?

1 Ответ

3 голосов
/ 09 июня 2019

Используйте aperm в качестве обобщенной транспонирования (где a - как в примечании в конце).

aa <- aperm(a, 3:1)
dim(aa)
## [1]  2 11 10

Примечание

Мы предполагаем, что вход aэто:

l = list()
l[[1]] = matrix(1:110, nrow=10)
l[[2]] = matrix(110:1, nrow=10)
a <- simplify2array(l)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...