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)