Fragen und Diskussionen rund um die Arbeit mit SPSS. Für allgemeine Statistik-Themen, die nicht mit SPSS zusammenhängen, bitte das Statistik-Forum nutzen.
ID Messung Länge Breite Höhe Umfang
A 1 100 * * *
A 2 * * * 20
A 3 * 10 150 *
B 1 89 * * *
B 2 * * * 18
B 3 * 13 123 *
Alle Sternchen stellen keine fehlenden Werte sondern einfach leere Fälle dar. Es ist so, dass mein Programm mir jede einzelne Messung mit einer eigenen Nummer ausgibt (Var:Messung). Allerdings gehören alle Messungen zur ID A oder B.
Ich möchte jetzt für die Übersichtlichkeit, dass die leeren Fälle gelöscht werden und alle Messungen in einer Zeile stehen.
Hat da jemand eine Idee. Eventuell geht es mit dem verschieben der Fälle in neue Variablen?
RECODE laenge to umfang (MISSING = 9999).
EXECUTE.
DO REPEAT #i = laenge to umfang.
DO IF #i EQ 9999.
COMPUTE #i = LAG(#i).
END IF.
END REPEAT.
EXECUTE.
SELECT IF messung = 3.
EXECUTE.
Das Programm hätte ein UPDATE machen müssen (daher die mehrfachen Zeilen)
Sehr interessant die Lösung auch wenn ich sie nicht komplett verstehe.
Wichtig für ein korrektes Ergebnis ist das die Variable Umfang wirklich als letzte Variable in SPSS steht, sonst verliert man die Werte der Variablen die hinter "Umfang" liegen.
Ich verstehe das die Syntax damit anfängt das du allen systemfehlenden eine 9999 gibt's. Danach definierst du dieses Recode als Variable #i. Was macht jedoch das Lag(#i). Lag meint ja das englische lag oder (also fehlend??).
Das Ende ist wieder klar nur die Fälle auswählen die in Messung die 3 haben.
Wäre wirklich daran interessiert zu wissen wie das funktioniert.