Hallo,ich hab schon das Forum durchsucht und ncihts gefunden:
Habe einen recht großen Datensatz und verschiedene Variablen. Diese sind dichotom (ja,nein) und ich möchte gerne aus 5 von diesen Variablen (also Spalten) eine neue erstellen. Wenn dann bei einer von diesen 5 ein ja steht, dann soll in der neuen erstellten variable ein ja stehen.
beispiel:
var1 var2 var3 var4 var5 var 5 neu
nein nein ja nein nein nein ja
nein nein nein nein nein nein nein
ja ja ja nein nein ja ja
könnt ihr mir helfen??
vielen dank schon mal...
Variablen zusammenfügen
-
drfg2008
- Beiträge: 2391
- Registriert: 06.02.2011, 19:58
RE
zunächst würde man nicht mit STRING Variablen arbeiten, das macht die Angelegenheit nämlich etwas komplizierter. Sollten die Variablen jedoch als STRING (Text) abgelegt worden sein, sollte das erst einmal recodiert werden: JA = 1, NEIN = 0.
Dann wäre die Frage: "genau einmal ein JA" oder "mindestens einmal JA".
Die letzte Zeile deutet auf ein "mindestens":
Da das noch geklärt werden müsste, kann hier (noch) keine Syntax zur Verfügung gestellt werden, obgleich das Problem technisch trivial ist.
Ansatz: Die JA werden als 1 recodiert, die NEIN mit 0. Dann wird die Summe aus V1 bis V5 berechnet. Sollte die Summe = 1 sein, wäre "genau einmal JA" erfüllt. Ggf. Bei dieser Vorgehensweise erspart man sich die DO REPEAT Variante.
Bezogen auf das STRING Beispiel wäre das dann die Syntax:
Dann wäre die Frage: "genau einmal ein JA" oder "mindestens einmal JA".
Die letzte Zeile deutet auf ein "mindestens":
Das stimmt aber nicht mit der Formulierung im Text überein:ja ja ja nein nein ja ja
Und schließlich hat dein Beispiel 7 Variablen, nicht 6 (Var1 bis Var5 & Ergebnisvariable).Wenn dann bei einer von diesen 5 ein ja steht
Da das noch geklärt werden müsste, kann hier (noch) keine Syntax zur Verfügung gestellt werden, obgleich das Problem technisch trivial ist.
Ansatz: Die JA werden als 1 recodiert, die NEIN mit 0. Dann wird die Summe aus V1 bis V5 berechnet. Sollte die Summe = 1 sein, wäre "genau einmal JA" erfüllt. Ggf. Bei dieser Vorgehensweise erspart man sich die DO REPEAT Variante.
Bezogen auf das STRING Beispiel wäre das dann die Syntax:
Code: Alles auswählen
*erzeugt deinen Datensatz in einem neuen SPSS File.
DATA LIST FREE / Var1(A255) Var2(A255) Var3(A255) Var4(A255) Var5(A255).
BEGIN DATA.
nein nein ja nein nein
nein nein nein nein nein
ja ja ja nein nein
END DATA.
*hier beginnt die Lösung.
VECTOR Neu(5).
IF var1 EQ "ja" Neu1 = 1.
IF var2 EQ "ja" Neu2 = 1.
IF var3 EQ "ja" Neu3 = 1.
IF var4 EQ "ja" Neu4 = 1.
IF var5 EQ "ja" Neu5 = 1.
EXECUTE.
DO REPEAT #i = Neu1 to Neu5.
RECODE #i (SYSMIS=0).
END REPEAT.
EXECUTE.
COMPUTE NEU = SUM(Neu1 to Neu5).
EXECUTE.
DELETE VARIABLES Neu1 to Neu5.
drfg2008



