Что такое многомерный эквивалент Rbind и cbind?
При работе с матрицами в R их можно разместить рядом друг с другом или складывать их друг над другом с помощью cbind и rbind соответственно. Какова эквивалентная функция для укладки матриц или массивов в другие измерения?
Например, следующее создает пару 2x2-матриц, каждая из которых имеет 4 элемента:
x = cbind(1:2,3:4)
y = cbind(5:6,7:8)
Что такое код для их объединения в массив 2x2x2 с 8 элементами?
Ответы
Ответ 1
См. пакет abind
. Если вы хотите, чтобы они привязывались к третьему измерению, сделайте следующее:
library(abind)
abind(x, y, along = 3)
См. ?abind
Кроме того, abind
дает намного больше удобства, но для простой привязки вы можете просто манипулировать значениями непосредственно, основываясь на стандартном порядке:
array(c(x, y), dim = c(2, 2, 2))