Vector to Indicate if Data equals the Maximum by group

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].

 Respuesta aceptada

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

Más respuestas (0)

Categorías

Productos

Etiquetas

Preguntada:

el 19 de Abr. de 2022

Respondida:

el 19 de Abr. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by