Verfasst am: 12.02.2017, 15:49
Titel: Gruppen einer Matrix nach Spalte sortieren
Hallo,
ich habe eine Matrix der Dimension 62393x45, in der ich Daten verschiedenen Gruppen zugeordnet habe. Jetzt möchte ich die Gruppen absteigend nach den Werten einer anderen Spalte sortieren, sodass aber die Gruppe als ganzes erhalten bleibt.
Ok, ich habe hier eine Tabelle mit den Daten und deren Struktur. In Spalte 4 befindet sich die Bezeichnung der Gruppe (Segment). Dieses Spalte soll jetzt nach Spalte 21 absteigend sortiert werden, aber die Gruppen sollen "zusammenbleiben". Wenn ich sortrows anwende, dann stehen die Zeilen einer Gruppe nicht mehr zusammen, sondern getrennt.
Aktuell sieht Spalte 4 unsortiert so aus: 0000 1 222 33333 usw.
Nach der Sortierung soll das z.B. so aussehen: 33333 0000 222 1.
Wenn ich sortrows verwende, sieht Spalte 4 so aus: 3 2 1 0 1 2 3 usw. Und das möchte ich nicht.
wie sollen denn die Gruppen sortiert werden? Du hast ja in Spalte 21 für viele Gruppen nicht einen, sondern mehrere Werte. Soll zur Sortierung der Mittelwert genommen werden, oder wie...
zu 1.: in deinem im ersten Beitrag gegebenen Beispiel werden alle Zeilen erfasst. Wenn das für deine tatsächliche Daten nicht der Fall ist, unterscheiden sich diese Daten in irgendeiner Form vom Beispiel. Wie, kann ich ohne ein entsprechendes Beispiel nicht sagen.
zu 2.: wenn du das richtig überträgst, sollte genau das der Fall sein. combined wäre die gesamte Matrix, group die Gruppierungsspalte und data die Spalte, nach der sortiert werden soll.
Wenn ich Deinen Code mit meinen Beispieldaten anwende, dann klappt es. Nur wenn ich den Code auf die richtigen Daten anwende, dann nicht so richtig. Deswegen ist im Anhang die Datei mit den originalen Daten. Spalte D sind die Gruppen und Spalte U die Werte, nach denen die Gruppen absteigend sortiert werden sollen.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.