2010-11-30 6 views
43

Al trabajar con matrices en R, uno puede ponerlas una al lado de la otra o apilarlas una encima de la otra usando cbind y rbind, respectivamente. ¿Cuál es la función equivalente para apilar matrices o matrices en otras dimensiones?¿Cuál es el equivalente multidimensional de rbind y cbind de R?

Por ejemplo, el siguiente crea un par de matrices de 2x2, cada uno con 4 elementos:

x = cbind(1:2,3:4) 
y = cbind(5:6,7:8) 

¿Cuál es el código para combinarlos en una matriz 2x2x2 con 8 elementos?

Respuesta

47

Consulte el paquete abind. Si usted quiere que se unen en una tercera dimensión, haga lo siguiente:

library(abind) 
abind(x, y, along = 3) 

Ver ?abind

Además, abind da mucha más comodidad, sino por simples vinculante sólo se puede manipular directamente los valores, basados ​​en el orden predeterminado:

array(c(x, y), dim = c(2, 2, 2)) 
Cuestiones relacionadas