R: как объявить объект списка с элементами M

Я хочу объявить список, содержащий матрицы M 3 на 3. Если бы я заранее знал номер M, я могу объявить такой список:

elm <- matrix(NA,3,3)
## Say M = 7
myList <- list(elm,elm,elm,elm,elm,elm,elm) 

Этот метод становится громоздким, если M велико. Чем хуже этот метод не работает, если я заранее не знаю значение M. Если я хочу объявить вектор длины M, я могу сделать это, позвонив:

myVec <- rep(NA,M)

даже если я не знаю значение M заранее. Есть ли аналогичный способ объявить список размеров M?

спасибо

Ответы

Ответ 1

Пытаться

mylist <- rep(list(elm),7)

которая при S = 3 дает

[[1]]
     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]   NA   NA   NA
[3,]   NA   NA   NA

[[2]]
     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]   NA   NA   NA
[3,]   NA   NA   NA

[[3]]
     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]   NA   NA   NA
[3,]   NA   NA   NA

Кстати, identical(matrix(NA,3,3),matrix(,3,3)) истинны, так как матрицы по умолчанию инициализируются NA. См. ?matrix.

Ответ 2

Может быть, это:

myls <- vector("list", length = S)