How to pick maximum value in group?

31 visualizaciones (últimos 30 días)
ASHA PON
ASHA PON el 19 de Abr. de 2022
Comentada: ASHA PON el 22 de Abr. de 2022
I have created groups with repeating value in a matrix and elements in the group are matched with matrix having its probability value. Now I have to find the maximum probability value in each group.
Example:
group n =
prob 1 prob 2 prob 3 maxprob prob 5
Expected output:
group n = repeated value
maxprob
  2 comentarios
Adam Danz
Adam Danz el 19 de Abr. de 2022
Could you provide an actual example?
It sounds like you're looking for the max function.
ASHA PON
ASHA PON el 20 de Abr. de 2022
a=[6 6 5 6 5 6 6]
b=[0.74 0.66 0.58 0.47 0.606 0.705 0.76]
group 1 = 5
0.58 0.606
group 2 = 6
0.74 0.66 0.47 0.705 0.76
Expected output
group 1 = 5
0.606
group 2 = 6
0.76
This is a smaller version of my problem. I need to apply this problem to a large number of group and n*m matrix. Thank you.

Iniciar sesión para comentar.

Respuesta aceptada

Adam Danz
Adam Danz el 20 de Abr. de 2022
data = [0.74 0.66 0.58 0.47 0.606 0.705 0.76];
group = [6 6 5 6 5 6 6];
groupsummary(data(:),group(:),'max')
ans = 2×1
0.6060 0.7600
See groupsummary for details.
  1 comentario
ASHA PON
ASHA PON el 22 de Abr. de 2022
Thank you so much for your reply. This is what exactly i needed.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 20 de Abr. de 2022
findgroups(a). Then splitapply(@max)

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by