Я был довольно удивлен, когда узнал, что для x <- array(0, c(5,3,1))
, например, x[2,,]
возвращает vector
вместо двумерного array
(или matrix
).
Почемуэто что этот массив явно интерпретируется как 5 векторов длины 3 вместо 5 массивов 3 на 1?attr(array(0, c(5,3,1)), "dim")
дает [1] 5 3 1
, как и ожидалось, поэтому кажется, что последнее измерение не потеряно.
Как я могу убедиться, что я получаю двумерный массив?Я понимаю, что массивы - это не что иное, как векторы с дополнительными атрибутами, но я не понимаю этого кажущегося "противоречивого" поведения.
Пожалуйста, просветите меня :) Я использую трехмерный массив в контексте другогоФункция для того, чтобы хранить несколько матриц.Как правило, эти матрицы имеют форму n-на-m, где, в частности, m может быть равно 1 (хотя обычно оно больше).