Sorting a matrix based on another matrix
Ältere Kommentare anzeigen
I have a csv file with the first two columns being names of individuals and their teams (both of which are strings) and the rest of the columns being a bunch of performance numbers (integers). I used readtable to import the data as it contained both strings and numbers. This is a 20x8 table called 'drivers'.
I then split the table into a 20x2 cell array called 'driver_names' for the names and teams, and a 20x6 double called 'driver_data' for the numbers.
I then did a few different operations on driver_data. What I need to do next is sort both driver_names and driver_data based in ascending order based on one column of driver_data but I'm not able to figure out how to do this.
Parts of the code are as such:
drivers = readtable("Drivers.csv","NumHeaderLines",1);
for j = (1:size(drivers,1))
driver_names(j,1:2) = drivers{j,1:2};
driver_data(j,:) = drivers{j,3:size(drivers,2)};
end
For now, I have sorted driver_data like this:
driver_data = sortrows(driver_data,2)
1 Kommentar
Stephen23
am 28 Nov. 2022
Simpler without the loop:
driver_names = drivers{:,1:2};
driver_data = drivers{:,3:end};
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Shifting and Sorting Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!