Matlab の一連のカテゴリに従って値のベクトルをグループ化する簡単な (理想的には複数の for ループなしで) 方法はありますか?
私はフォームにデータマトリックスを持っています
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})
しかし、私はそれを自分のやりたいようにする方法を理解できませんでした!