создать матрицу в `R`, и каждый элемент в этой матрице является другой матрицей - PullRequest
0 голосов
/ 29 ноября 2018

Есть ли способ создать матрицу в R, и каждый элемент в этой матрице является другой матрицей?Раньше я делал это в Python, но когда я делаю

X <- matrix(rep(0,200),nrow=200,ncol=1)
for (i in 1:200){ X[i,] <-matrix(rep(0,32),nrow=8,ncol=4)}

, он не работает в R.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Если все подматрицы имеют одинаковую форму, вы можете использовать массив:

X = array(0, dim = c(200, 8, 4))

Вот некоторые измерения

> dim(X)
[1] 200   8   4
> dim(X[1,,])
[1] 8 4
0 голосов
/ 29 ноября 2018

Вы можете использовать

X <- matrix(vector("list", 200))

, что просто

X <- matrix(list()[rep(1, 200)], nrow = 200, ncol = 1)

с

for (i in 1:200)
  X[i, ] <- list(matrix(rep(0,32), nrow = 8, ncol = 4))

или

for (i in 1:200)
  X[i, ][[1]] <- matrix(rep(0,32), nrow = 8, ncol = 4)

Тогда каждая матрицазапись будет списком, содержащим матрицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...