Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ähnlichkeitsmatrix berechnen -Dominanzidentität-

Ähnlichkeitsmatrix berechnen -Dominanzidentität-
08.12.2006 14:27:58
Werum
Hallo ich möchte gerne die Ähnlichkeit von Daten (Gesellschaften von Pflanzen) in Relativen Antilen %-Werte) aus mehreren Datensätzen berechnen und in einer Ähnlichkeitsmatrix dargestellt bekommen.
Die Formel lautet Dx,y = Summe min (Nix, Niy) für den Vergleich von einer Datenreihe mit einer anderen.
Dx,y = Dominanzidentität der Proben x und y
Ni,x = relative Häufigkeit der i-ten Art in Probe x
Ni,y = relative Häufigkeit der i-ten Art in Probe y
Jetzt habe ich aber ca 290 Zeilen (Arten) und 124 Spalten (Proben), die alle miteinander verglichen werden müssten also Gesellschaft dder Spalte A mit B, Spalte A mit C, Spalte A mit D..... dann Spalte B mit C, Spalte B mit D usw........
Als Ergebnis bekommt man eine Matrix mit Prozentwerten für den Vergleich aller Proben miteinander wobei jede Zelle den Wert der Ähnlichkeit darstellt aus dem Vergleich von zwei Proben. Diese Matrix ist durch eine Diagonale in zwei Hälften gespiegelt, da dort die Vergleiche von Proben mit sich selbst stehen.
Vielen Dank für die Hilfe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ähnlichkeitsmatrix berechnen -Dominanzidentität-
08.12.2006 15:43:13
Yal
Du wärst vielleicht besser geholfen, wenn die Daten nicht schon zweidimensionale gelagert wären (Arten in Zeilenüberschrift, Probe in Spaltenüberschrift) sondern als Liste: Spalte A: Arten, Spalte B: Probe, Spalte C: Werte.
Es wurde zwar 290 * 124 = 35960 Zeilen befüllen aber darauf könntest Du Pivot Tabellen bauen, die, durch Sortierung, Auswahl, usw. die Vergleichbarkeit der Daten vereinfachen wurde.
Viel Erfolg
Yal
AW: Ähnlichkeitsmatrix berechnen -Dominanzidentität-
09.12.2006 08:39:39
ingUR
Hallo, Werum Marcus,
ich habe aus Deiner Frage nicht herauslesen können, in welcher Form die Daten der Proben vorliegen: als Anzahl-Datenreihe oder bereits al RelativeHäufigkeiten-Datenreihre ausgewertet.
In meinem VBA-Programm-Beispiel gehe ich davon aus, dass die relative Häufigkeiten noch für die einzelnen Proben ermittelt werden müssen (eine Zellenformellösung wird wohl auch möglich sein).
https://www.herber.de/bbs/user/38839.xls
Kern der Berechnung zur Erstellung der Dominazidentitätswerte (nach Renkonen) ist dieser Teil des Programmcodes, der die relativen Häufigkeitenswerte in einer Probe in einem zweidimensionalen Feld mit dem Namen relH(a,p) sammelt:
        For px = 0 To maxProben - 1
For py = px + 1 To maxProben - 1
Dxy = 0
For a = 0 To maxArten - 1
Dxy = Dxy + IIf(relH(a, px) < relH(a, py), relH(a, px), relH(a, py))
Next a
wsD.Cells(px + HEADERROWS + 1, py + HEADERCOLUMNS + 1) = Dxy
'SymmetrieZelle ....
wsD.Cells(py + HEADERROWS + 1, px + HEADERCOLUMNS + 1) = Dxy
'... oder bedingze Zellnfärbung (Trillisdigram)
'Siehe in Prozedur "TrellisDiagramm")
Next py
Next px
Ohne auf Programmcode-Optimierung zu achten, sind zwei, im Berechnungsteil gleiche Prozeduren im Modul enthalten, die eigenständig aufgerufen werden können und arbeiten:
Sub DominanzIdentität() (Ähnlichkeitsmatrix)
Sub TrellisDiagramm()
Gruß,
Uwe
Anzeige
AW: Ähnlichkeitsmatrix berechnen -Dominanzidentitä
09.12.2006 09:37:19
Marcus
Hallo Uwe,
vielen Dank schon einmal.
Prinzipiell sollte die Berechnung mit den relativen Anteilen ablaufen. Die Daten liegen mir am Anfang als absolute Werte vor und ich rechne sie dann um.
Da ich leider überhaupt keine Kenntnisse habe zur Programmierung in Excel verstehe ich auch nicht ganz was das erstellte File macht.
Meine Fragen wären dazu.
Rechnet der File absolute Werte in relative Antile in Prozent um?
Unter dem Blatt Proben stehen schon absolute Werte, unter Dominanzidentität steht gar nichts, warum denn?
Wo findet die Berechnung statt und wo sind dann die Ergebnisse?
Kann ich belibieg viele Zeilen und Spalten hinzufügen und diese auch sortieren?
Vielen Dank und viele Grüße
Marcus
Anzeige
AW: Ähnlichkeitsmatrix berechnen -Dominanzidentitä
09.12.2006 10:16:07
ingUR
Hallo, Marcus,
hatte übersehen, dass Du nach Deiner Einschätzung laum über EXCEL-/VBA-Kenntnisse verfügst.
Die Prozeduren können über einen Makrao-Aufruf gestartet werden (Tastenkombination [Alt][F8] und auswahl eines der Makros). In der Makroprozedur werden dann die Tabellen erstellt (biite Ergebnisse an einem Bekannten Beispile unbedingt überprüfen, da ich selber diesen Testschritt nicht vorgenommen habe)
Zu den Fragen:
F:
«Rechnet der File absolute Werte in relative Antile in Prozent um?»
A:
Ja, es werden die Datenreihen der Proben in ein Datenfeld eingelesen (arrProben(a,p); Gliederung analog einem Sheet) und dabei das Datenfeld relH(a,p) berechnet
F:
«Unter dem Blatt Proben stehen schon absolute Werte, unter Dominanzidentität steht gar nichts, warum denn? Wo findet die Berechnung statt und wo sind dann die Ergebnisse?»
A:
Erst der Start des Berechnungsmakros füllt die Tabelle Dominanzidentität, wobei Du je nach Anwahl entweder allein die die Matrix erhälst oder ein Tellis-Diagramm (Spiegelbereich mit farbliche abgestuften %Bereichen).
Beim Makroaufruf, kann auch eine schrittweise Ausführung der Anweisungen angewählt werden. In diesem Fall kann über die Funktionstaste [F8] bzw. den Funktionen des VBA-Menüeintrages "Debbuggen" der Verlauf des Programms eingesehen werden und die Berechnungen und zwischenergebnisse angeschuat werden.
Ich empfehle, die hierzu notwendigen "Handgriffe" mit der Beispieldatei auszutestet, auch wenn nicht alles auf Anhieb ersichtlich sein sollte, denn irgendwo muß man ja anfangen.
F:
«Kann ich beliebieg viele Zeilen und Spalten hinzufügen und diese auch sortieren?»
A:
Eine Begrenzung ist in der Anzahl der Proben aufgrund der Matrixdarstellung notwendig, da ein Tabelle maximal 255 Spalten verwalten kann.
Zieht man eine Spalte für die Beschriftung (Arten/Probe) ab, so können maximal 254 Proben in jeder Tabelle dargestellt werden.
Die Anzahl der Arten ist von der größten Zehlenanzahl abhängig (sofern die Legende dargestellt werden soll, sind die dafür notwendigen Zeilen und die Anzahl Freizeilen zur letzen Zeile der Tabelle davon abzuziehen; es beliben so also über 65500 Arten, die gelistet sein können.
Um nun Deine Datenreihen bearbeiten zu können, kannst Du z.B. am einfachsten, die Daten im Tabellenblatt "Proben" löschen und Deine Datenreihen mit den Absolutwerten in das Tabellenblatt "Proben" einschreiben (Kopfzeile und Führungsspalte sind vorerst mit beliebigem Inhalt vorzusehen; kann später, wenn der Einstig in VBA gelungen ist, über die deklarierten Konstanten abgeändert werden, wie auch die Vorgabe der Tabellennamen). Dieses Mappe ist, solange der Umgang mit dem VBA-Programmcode nich nicht beherrscht wird, unter einem neuen Namen abzuspeichern. Danach erfogt der Aufruf der Prozeduren wieder über den oben beschriebenen Makroaufruf.
Viel Vergnüben beim Erforschen!
Uwe
Anzeige
AW: Ähnlichkeitsmatrix berechnen -Dominanzidentitä
09.12.2006 10:42:40
Marcus
Hallo Uwe,
vielen Dank damit kann ich schon etwas anfangen. Um die genannten Veränderungen an der Tabelle vorzunehmen fehlt mir in der Tat im Moment das Verständnis und die Zeit.
Aber so wie sie ist kann ich sie auch schon sehr gut gebrauchen......
Also vielen Dank nochmals... und machst Du so Programmierung auch im Auftrag/beruflich und mit Access?
Grüße
Marcus
AW: Ähnlichkeitsmatrix berechnen -Dominanzidentitä
11.12.2006 11:31:13
ingUR
Hallo, Marcus,
danke für die Rückmeldung, aus der ich entnehme, dass da an dem Teilstück noch nicht alles optimal.
Wenn es Änderungswünsche gibt, dann bitte einfach vortragen,
ggf. Klärungen zur Aufgabenstellung via Email: Anton.Kanton[ÄT]gmx[PUNKT]net, wenn's hilfreich sein könnte.
Gruß,
Uwe
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige