|
|
Häufigkeiten von Einträgen in einer Matrix plotten |
|
Olaf |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.01.2022, 10:32
Titel: Häufigkeiten von Einträgen in einer Matrix plotten
|
|
|
|
|
Hallo zusammen
ich bin neu in MATLAB und möchte gerne Einträge in einer Matrix (2 Spalten) nach Häufigkeiten plotten. Kann mir jemand helfen?
Beispiel (CODE unten):
Matrix A:
Spalte 1: ID (von irgendwas)
Spalte 2: Datum wann die ID das gemacht hat
zuerst kann ich es sortieren und erhalte Matrix B
mein Ziel ist es eine Matrix C zu generieren:
Spalte 1: Anzahl Einträge (fortlaufende Zahl; - einfache Einträge, doppelte Einträge, dreifache Einträge,.....)
Spalte 2: Häufigkeit - einfache Einträge kommen x-mal vor; doppelte Einträge kommen y-mal vor,...)
Das kann ich dann mittels BarPlot anzeigen
Vielen Dank für jeden Tipp
A =
6×2 cell array
{'1' } {'10.01.2022'}
{'1' } {'10.01.2022'}
{'2' } {'10.01.2022'}
{'1' } {'12.01.2022'}
{'33'} {'10.01.2021'}
{'1' } {'10.01.2022'}
B =
6×2 cell array
{'33'} {'10.01.2021'}
{'1' } {'10.01.2022'}
{'1' } {'10.01.2022'}
{'2' } {'10.01.2022'}
{'1' } {'10.01.2022'}
{'1' } {'12.01.2022'}
B =
6×2 cell array
{'1' } {'10.01.2022'}
{'1' } {'10.01.2022'}
{'1' } {'10.01.2022'}
{'1' } {'12.01.2022'}
{'2' } {'10.01.2022'}
{'33'} {'10.01.2021'}
C =
1 3
2 0
3 1
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.01.2022, 10:54
Titel:
|
|
Hallo,
ich verstehe nicht recht, wie du auf C kommst. Müsste die zweite Spalte nicht [4;1;1] sein? Und sollte die erste Spalte nicht {'1';'2';'33'} sein?
Generell wäre meine Empfehlung, hier mit categoricals zu arbeiten, z.B.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Olaf |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.01.2022, 15:03
Titel:
|
|
Vielen Dank für den Tipp,
C soll mein Ergebnisvektor sein. C(1, entspricht die Häufigkeit wie oft ein Vorfall 1x vorkommt; C(2, wie oft es doppelte Einträge gibt usw.
Ich habe auch selbst noch weiter probiert. So funktioniert es jetzt, aber ich bin sicher man kann das in MATLAB auch eleganter machen (ohne Schleifen etc.).
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.01.2022, 15:59
Titel:
|
|
Hallo,
bitte auf die Rückfragen eingehen, insbesondere:
Zitat: |
Müsste die zweite Spalte nicht [4;1;1] sein? |
Bitte auch auf Vorschläge eingehen. Wenn sie nicht das gewünschte liefern, dann bitte genau beschreiben inwiefern nicht.
Ich verstehe "wie oft ein Vorfall 1x vorkommt" nicht. Wenn ein Vorfall 1x vorkommt, dann kommt er 1x vor, fertig?!
Und ja, das kann man sicher eleganter machen.
Wenn du schon Häufigkeiten berechnet hast, würde ich bar statt histogram verwenden. histogram berechnet ja selbst die Häufigkeiten.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|