Как перейти от многомерного массива к одному измерению, поддерживая группы - PullRequest
2 голосов
/ 07 октября 2019

У меня есть массив из 4 измерений: местоположение (3) x виды (3) x сезон (6) x глубина (2). Как эта матрица 12 раз.

Season = 1, depth =  1
    [A] [B] [C]
[a] 12  52  55
[b] 13  14  235
[c] 13  76  355

Я хотел бы объединить все в одну большую матрицу, например:

Season = 1, depth =  1
    [A] [B] [C]
[a11] 12  52  55
[b11] 13  14  235
[c11] 13  76  355
[a12] 12  52  55
[b12] 13  14  235
[c12] 13  76  355
[a21] 12  52  55
[b21] 13  14  235
[c21] 13  76  355
... 

и так далее. Первое число будет относиться к одному дополнительному измерению, а второе - к другому. Имеет ли это смысл? Любая идея?

Спасибо большое !! :)

1 Ответ

0 голосов
/ 07 октября 2019

Это транспонирует массив с aperm, а затем создает матрицу.

location = 3
species = 3
Season = 6
Depth = 2

set.seed(1)
myArr <- array(sample(1000, location * species * Season * Depth), dim = c(location, species, Season, Depth))
myArrPerm <- aperm(myArr, perm = c(1,3,4,2))

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