2012-05-21 25 views
27

Cómo reordenar las dimensiones de una matriz n dimensional. Por ejemplo, si tengo una matriz tridimensional de datos de ventas, donde la primera dimensión representa la Fecha, la segunda dimensión es la Tienda, y la tercera dimensión es Departamento. ¿Cómo transformo la matriz para que la primera dimensión sea Almacén, la segunda sea Departamento y la tercera sea Fecha? Esto es solo un ejemplo. Estoy esperando una solución general.Cómo cambiar el orden de las dimensiones de la matriz

Respuesta

46

La función para hacerlo es aperm, desde el paquete base. Es una generalización de la función transponer t() a matrices multidimensionales. Para su ejemplo, lo llamaría de la siguiente manera:

new.data <- aperm(old.data, c(2,3,1)) 
+0

Perfecto - gracias. – ruser

Cuestiones relacionadas