Hallo!
Ich habe 5 Variablen. In der 6. Variable möchte ich die Variable erfassen, die von den fünfen den höchsten Wert hat.
Ein Beispiel.
v1 = 1
v2 = 2
v3 = 3
v4 = 4
v5 = 5
Da v5 den höchsten Wert hat, soll in der neuen Variable "5" stehen.
Da ich das für mehrere Jahrgänge machen muss, suche ich nach einer weniger aufwändigen Methode als jedes mal alle 5 Variablen miteinander zu vergleichen.
Hat jemand von Euch eine effizientere Lösung parat?
Ich wäre Euch sehr dankbar!
Viele Grüße
null.plan
Variable mit maximalem Wert in andere Variable schreiben
-
- Beiträge: 11
- Registriert: 13.03.2008, 11:55
-
- Beiträge: 939
- Registriert: 13.05.2008, 10:52
hallo,
du kannst diese variable berechnen lassen:
-> transformieren -> berechnen: name der zielvariable angeben, in das rechte größere feld die funktion hineinschreiben:
max(v1,v2,v3,v4,v5)
wenn die variablen in der tabelle alle nebeneinander stehen, reicht es auch, nur die erste und letzte variable anzugeben:
max(v1 to v5)
-> ok -> ergebnis: eine variable, die für jeden fall jeweils das individuelle (d.h.auf den fall bezogene) maximum der 5 genannten variablen enthält.
du kannst diese variable berechnen lassen:
-> transformieren -> berechnen: name der zielvariable angeben, in das rechte größere feld die funktion hineinschreiben:
max(v1,v2,v3,v4,v5)
wenn die variablen in der tabelle alle nebeneinander stehen, reicht es auch, nur die erste und letzte variable anzugeben:
max(v1 to v5)
-> ok -> ergebnis: eine variable, die für jeden fall jeweils das individuelle (d.h.auf den fall bezogene) maximum der 5 genannten variablen enthält.
-
- Beiträge: 11
- Registriert: 13.03.2008, 11:55
-
- Beiträge: 939
- Registriert: 13.05.2008, 10:52
-
- Beiträge: 939
- Registriert: 13.05.2008, 10:52
ah, kleines missverständnis.
das geht aber so ähnlich, muss dann aber mit einer reihe von falls-bedingungen verknüpft werden.
in das formelfeld kommt nun keine formel, sondern zuerst eine 1 -> falls... -> dort eingeben: v1 = max(v1 to v5) -> weiter -> ok bzw. einfügen. wenn "einfügen" gedrückt wird, erscheint die syntax der anweisung. diese betrifft nun erst die variable v1 und wird erweitert, so dass sie alle variablen umfasst. es ergibt sich:
IF (v1 = max(v1 to v5)) max = 1 .
IF (v2 = max(v1 to v5)) max = 2 .
IF (v3 = max(v1 to v5)) max = 3 .
IF (v4 = max(v1 to v5)) max = 4 .
IF (v5 = max(v1 to v5)) max = 5 .
VARIABLE LABELS max 'Welche Variable v1 bis v5 ist das Maximum?' .
value labels max 1 'v1 ist Maximum' 2 'v2 ist Maximum' 3 'v3 ist Maximum' 4 'v4 ist Maximum' 5 'v5 ist Maximum'.
EXECUTE .
diese syntax kannst du in eine neue syntax-datei (datei, öffnen, syntax) kopieren. sie wird dann markiert und per klick auf den kleinen schwarzen pfeil im menü (4. von rechts) ausgeführt.
das hatte ich noch vergessen: achtung, eine verteilung kann mehr als 1 maximum haben. ist z.b. v1 ein maximum = 22 und hat eine der späteren variablen ebenfalls den wert 22 (alle anderen variablen haben kleinere werte), dann wird die spätere variable als maximum angegeben. was du im falle mehrerer maxima tun willst, weiss ich nicht. vielleicht kommt dies auch nicht vor. aber checken müsste man es -> dazu die syntax nur schrittweise ausführen (jede if-zeile einzeln) und nach jeder zeile eine häufigkeitstabelle der neuen variablen max erstellen -> es sollten die häufigkeiten der bereits gebildeten kategorien gleich bleiben und nur jeweils die neueste kategorie dazukommen. nimmt allerdings eine der früheren kategorien ab, dann gibt es fälle mit 2 maxima.
das geht aber so ähnlich, muss dann aber mit einer reihe von falls-bedingungen verknüpft werden.
in das formelfeld kommt nun keine formel, sondern zuerst eine 1 -> falls... -> dort eingeben: v1 = max(v1 to v5) -> weiter -> ok bzw. einfügen. wenn "einfügen" gedrückt wird, erscheint die syntax der anweisung. diese betrifft nun erst die variable v1 und wird erweitert, so dass sie alle variablen umfasst. es ergibt sich:
IF (v1 = max(v1 to v5)) max = 1 .
IF (v2 = max(v1 to v5)) max = 2 .
IF (v3 = max(v1 to v5)) max = 3 .
IF (v4 = max(v1 to v5)) max = 4 .
IF (v5 = max(v1 to v5)) max = 5 .
VARIABLE LABELS max 'Welche Variable v1 bis v5 ist das Maximum?' .
value labels max 1 'v1 ist Maximum' 2 'v2 ist Maximum' 3 'v3 ist Maximum' 4 'v4 ist Maximum' 5 'v5 ist Maximum'.
EXECUTE .
diese syntax kannst du in eine neue syntax-datei (datei, öffnen, syntax) kopieren. sie wird dann markiert und per klick auf den kleinen schwarzen pfeil im menü (4. von rechts) ausgeführt.
das hatte ich noch vergessen: achtung, eine verteilung kann mehr als 1 maximum haben. ist z.b. v1 ein maximum = 22 und hat eine der späteren variablen ebenfalls den wert 22 (alle anderen variablen haben kleinere werte), dann wird die spätere variable als maximum angegeben. was du im falle mehrerer maxima tun willst, weiss ich nicht. vielleicht kommt dies auch nicht vor. aber checken müsste man es -> dazu die syntax nur schrittweise ausführen (jede if-zeile einzeln) und nach jeder zeile eine häufigkeitstabelle der neuen variablen max erstellen -> es sollten die häufigkeiten der bereits gebildeten kategorien gleich bleiben und nur jeweils die neueste kategorie dazukommen. nimmt allerdings eine der früheren kategorien ab, dann gibt es fälle mit 2 maxima.
-
- Beiträge: 11
- Registriert: 13.03.2008, 11:55