"leer" Fälle in mehreren Zeilen selektiv löschen

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.
Antworten
werekorden
Beiträge: 42
Registriert: 07.09.2010, 11:38

"leer" Fälle in mehreren Zeilen selektiv löschen

Beitrag von werekorden »

Hi,

Ich habe wie könnte es anders sein ein Problem.

Ich habe eine SPPS-Datei die keine ordentliche Verteilung der Fälle je Variable hat.

Die Datei sieht wie folgt aus:

Code: Alles auswählen

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?

Dank euch.

Andreas
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

vielleicht passt das:

Code: Alles auswählen

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)
drfg2008
werekorden
Beiträge: 42
Registriert: 07.09.2010, 11:38

Beitrag von werekorden »

Hi,

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.

Danke schonmal für die Hilfe.
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

Eine Beschreibung der Befehle findet sich bei SPSS.

Lag ist die Abkürzung für lag(1) und zieht den letzten Wert direkt über dem fehlenden Wert (daher missing = 9999) .

Die Reihenfolge der Variablen bleibt erhalten.
drfg2008
werekorden
Beiträge: 42
Registriert: 07.09.2010, 11:38

Beitrag von werekorden »

Ah, danke für die Info.

Ich hatte schon im Befehlssyntax-pdf geschaut aber das nicht so ganz verstanden.

Super Hilfe danke nochmal.
Anzeige:Statistik und SPSS: Die besten Bücher
Als Buch oder E-Book - Jetzt bestellen
spss datenanalyse
SPSS - Moderne Datenanalyse - Jetzt bestellen!
statistik datenanalyse
Statistik - Der Weg zur Datenanalyse - Jetzt bestellen!
Antworten