是否有一种简单(理想情况下没有多个 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})
但我无法理解如何让它做我想做的事!