2012-05-21 31 views
27

如何重新排列n维阵列的尺寸。例如,如果我有一个销售数据的三维数组,第一个维度表示日期,第二个维度是Store,第三个维度是Department。如何转换数组,以便第一个维度是Store,第二个维度是Department,第三个是Date。这只是一个例子。我希望有一个通用的解决方案。如何更改阵列尺寸的顺序

回答

46

这样做的功能是aperm,从基础包。它是对多维数组的转置t()函数的推广。对于你的例子,你可以这样称呼它:

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

完美 - 谢谢。 – ruser