# MATLAB: Selecting the highest value

datamining

I have dataset of 5 columns    1  3   .5      .6    89    1  2    03     .6    98    1  8   .3      .3    90    2  3   .2      .5    87    2  87   02      1    89    ;    ;    ;    ;    10  12  01      .3    87    10  12  03       07   99    10  0.3 0.5      10    78
i want to select highest values in column 5 for erach unique value,i nees as
1  8   .3      .3    902  87   02      1    8910  12  03       07   99

• I don't understand why the first row of your result is not
1  2    03     .6    98
as 98 is bigger than 90. Assuming you've made a mistake, the following code works, though there may, as ever, be neater methods:
data = [1  3   .5      .6    89    1  2    03     .6    98    1  8   .3      .3    90    2  3   .2      .5    87    2  87   02      1    89    10  12  01      .3    87    10  12  03       07   99    10  0.3 0.5      10    78];indexcol = 1;valuecol = 5;indexlist = data(:,indexcol);indexes = unique(indexlist);results = zeros(length(indexes), size(data,2));for k = 1:length(indexes)    rows = find(indexlist == indexes(k));    [unused, maxsubsetrow] = max(data(rows, valuecol));    maxrow = rows(maxsubsetrow);    results(k, :) = data(maxrow, :);enddisp(results);