【发布时间】:2015-02-11 14:54:12
【问题描述】:
有没有一种简单(最好没有多个 for 循环)的方法来根据 Matlab 中的一组类别对值向量进行分组?
表格中有数据矩阵
CATEG_A CATEG_B CATEG_C ... VALUE
1 1 1 ... 0.64
1 2 1 ... 0.86
1 1 1 ... 0.74
1 1 2 ... 0.56
...
等等
而我想要的是一个N维数组
all_VALUE( CATEG_A, CATEG_B, CATEG_C, ..., index ) = VALUE_i
当然,同一类别组合中可能有任意数量的值,因此size(end) 将是最大类别中的值的数量——其余项目将用nan 填充。
或者我会很高兴
all_VALUE { CATEG_A, CATEG_B, CATEG_C, ... } ( index )
即向量元胞数组。我想这有点像创建一个数据透视表,但有 n 维,而不是计算 mean。
我在帮助中找到了这个功能
A = accumarray(subs,val,[],@(x) {x})
但我不知道如何让它做我想做的事!
【问题讨论】:
标签: matlab cell-array n-dimensional