あなたは、私はこれが動作すると思いますテーブルにあるデータを気にしない場合:
data = {'1997', 'string'; '1997', 'string'; '1997', 'string'; '1997', 'key'; '1998', 'string'; '1998', 'key'; '1998', 'key'};
data_table = cell2table(data);
[unique_data,cnt] = unique(data_table,'rows');
data_table_combined = strcat(data_table.data1,'_',data_table.data2);
unique_combined = strcat(unique_data.data1,'_',unique_data.data2);
for i = 1:length(unique_combined)
b = strfind(cell(data_table_combined),char(unique_combined(i)));
count(i) = sum(cell2mat(b));
end
count_table = table(count');
NT = [unique_data,count_table]
それは、このテーブルを生成します。
NT =
data1 data2 Var1
______ ________ ____
'1997' 'key' 1
'1997' 'string' 3
'1998' 'key' 2
'1998' 'string' 1
table2cell(NT)を使用して、それをセル配列にすることもできます。
これが役に立ちます。
このデータをMATLABに移植すると、どのように表示されますか? 2つのベクトル?セル配列?表?構造?より良い回答を得るためにこれを指定してください(または、より良い方法では、サンプルデータを作成するコードを提供してください)。これは 'unique(A、' rows ') 'と' accumarray'の何らかの組み合わせでおそらく答えることができます。 –