Vector to Indicate if Data equals the Maximum by group

1 ビュー (過去 30 日間)
Qize Chen
Qize Chen 2022 年 4 月 19 日
回答済み: Akira Agata 2022 年 4 月 19 日
I have a data vector and a group vector, how do I generate a vector (the same size as the data vector) of 0's and 1's to indicate if data is the group maximum. For example, data = [1;2;3;6;5] and group = [1;1;2;3;3]. I want to get [0;1;1;1;0].

採用された回答

Akira Agata
Akira Agata 2022 年 4 月 19 日
How about the following?
data = [1;2;3;6;5];
group = [1;1;2;3;3];
idx = splitapply(@(x) {x == max(x)},data,group);
idx = cell2mat(idx);
disp(idx)
0 1 1 1 0

その他の回答 (0 件)

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by