Problem: Neue Variablen aus Merfachantworten-Set berechnen
-
didumn
- Beiträge: 5
- Registriert: 02.08.2012, 15:13
Problem: Neue Variablen aus Merfachantworten-Set berechnen
Hallo,
Ich möchte eine neue Variable aus einem Mehrfachantworten-Set bilden.
Dies besteht aus 8 Variablen mit den Ausprägungen:
1="quotet" und 0= "not quoted".
Nun habe ich versucht eine neue Variable zu berechnen, bei der das 7. Item=1 ist, aber Item 3=0 oder 5=0 sein müssen.
In der Ausgabe sieht das so aus:
IF (var3=0 | var5=0) var=var7.
EXECUTE.
Allerdings zählt SPSS nun trotzdem die Fälle wo, z.B. var7=1, var3=1 und var5=0 ist, obwohl ich diese Kombination eigentlich ausschließen möchte.
Es werden nur Fälle wo beide Variablen (var3 und var5) =0 sind richtig gezählt. Also als hätte ich eine AND-Verknüpfung definiert und keine OR.
Habe ich irgendwo einen Denkfehler?
Versteh ich was falsch bei der OR-Verknüpfung?
Kann mir da wer auf die Sprünge helfen?
Grüße,
Roman
Ich möchte eine neue Variable aus einem Mehrfachantworten-Set bilden.
Dies besteht aus 8 Variablen mit den Ausprägungen:
1="quotet" und 0= "not quoted".
Nun habe ich versucht eine neue Variable zu berechnen, bei der das 7. Item=1 ist, aber Item 3=0 oder 5=0 sein müssen.
In der Ausgabe sieht das so aus:
IF (var3=0 | var5=0) var=var7.
EXECUTE.
Allerdings zählt SPSS nun trotzdem die Fälle wo, z.B. var7=1, var3=1 und var5=0 ist, obwohl ich diese Kombination eigentlich ausschließen möchte.
Es werden nur Fälle wo beide Variablen (var3 und var5) =0 sind richtig gezählt. Also als hätte ich eine AND-Verknüpfung definiert und keine OR.
Habe ich irgendwo einen Denkfehler?
Versteh ich was falsch bei der OR-Verknüpfung?
Kann mir da wer auf die Sprünge helfen?
Grüße,
Roman
-
drfg2008
- Beiträge: 2391
- Registriert: 06.02.2011, 19:58
re
Nun habe ich versucht eine neue Variable zu berechnen, bei der das 7. Item=1 ist, aber Item 3=0 oder 5=0 sein müssen.
Code: Alles auswählen
*--- baut Datensatz auf.
input program.
loop x =1 to 5*10**1 by 1.
end case.
end loop.
end file.
end input program.
EXECUTE.
VECTOR v(8).
DO REPEAT #i = v1 to v8.
COMPUTE #i = RV.BERNOULLI(0.5).
END REPEAT.
EXECUTE.
*------------------------ Ende Datensatz ---------.
DO IF v7 =1.
DO IF (v3 = 0 or v5 =0).
COMPUTE varNEU = v7.
END IF.
END IF.
EXECUTE.
drfg2008
-
didumn
- Beiträge: 5
- Registriert: 02.08.2012, 15:13
Danke für deine Antwort.
Leider verstehe ich sie nicht so recht. Scheint ja doch etwas komplizierter zu sein.
Immerhin habe ich jetzt verstanden warum die OR-Verknüpfung nicht meinen Wünschen entsprechend funktioniert.
Brauchen würde ich eine NOR-Verknüpfung, die es bei dem Klickmenu nicht gibt. Erkennt SPSS den NOR-Befehl vllt. in der Syntax? Oder gibts wirklich nur "AND" und "OR"?
Leider verstehe ich sie nicht so recht. Scheint ja doch etwas komplizierter zu sein.
Immerhin habe ich jetzt verstanden warum die OR-Verknüpfung nicht meinen Wünschen entsprechend funktioniert.
Brauchen würde ich eine NOR-Verknüpfung, die es bei dem Klickmenu nicht gibt. Erkennt SPSS den NOR-Befehl vllt. in der Syntax? Oder gibts wirklich nur "AND" und "OR"?
-
drfg2008
- Beiträge: 2391
- Registriert: 06.02.2011, 19:58
re
Code: Alles auswählen
DO IF v7 =1.
DO IF (v3 = 0 or v5 =0).
COMPUTE varNEU = v7.
END IF.
END IF.
EXECUTE. drfg2008
-
didumn
- Beiträge: 5
- Registriert: 02.08.2012, 15:13
Habe nun alle möglichen Varianten ausprobiert...
Leider noch kein Erfolg :/
Die Codes funktionieren - jedoch nicht mit dem gewünschten Ergebnis.
Sobald eine der Variablen (v3,v5)=1 ist, wird vNeu auch als 1 ausgegeben.
Was ich eigentlich haben möchte ist genau diese logische Verknüpfung:
Nicht Oder (NOR)
v3---v5---vNeu
0-----0-----1
0-----1-----0
1-----0-----0
1-----1-----0
Habs auch schon mit der Umkehrfunktion NOT probiert:
DO IF NOT(v3 = 0 OR v5 =0).
Bin jetzt schon seit drei Tagen mit dem Problem beschäftigt und bin langsam am verzweifeln
Leider noch kein Erfolg :/
Die Codes funktionieren - jedoch nicht mit dem gewünschten Ergebnis.
Sobald eine der Variablen (v3,v5)=1 ist, wird vNeu auch als 1 ausgegeben.
Was ich eigentlich haben möchte ist genau diese logische Verknüpfung:
Nicht Oder (NOR)
v3---v5---vNeu
0-----0-----1
0-----1-----0
1-----0-----0
1-----1-----0
Habs auch schon mit der Umkehrfunktion NOT probiert:
DO IF NOT(v3 = 0 OR v5 =0).
Bin jetzt schon seit drei Tagen mit dem Problem beschäftigt und bin langsam am verzweifeln
-
drfg2008
- Beiträge: 2391
- Registriert: 06.02.2011, 19:58
re
Formuliere doch bitte sprachlich genau und absolut sparsam deine Bedingung (erneut). Denn die folgende Bedinung (aus deinem ersten Beitrag) wird mit der Programmsequenz selbstverständlich abgebildet (siehe die Simulation)
PS Ich glaube nicht, dass bei klarer, präziser und einfacher Darstellung das Problem nicht in kürzester Zeit zu lösen ist.
Das ist jetzt der Stand. Was willst du also? Dein zweites Beispiel passt nicht dazu. Dazu müsstest du formulieren: Item3 UND Item5 gleich Null.Nun habe ich versucht eine neue Variable zu berechnen, bei der das 7. Item=1 ist, aber Item 3=0 oder 5=0 sein müssen.
Code: Alles auswählen
DO IF v7 =1.
DO IF (v3 = 0 AND v5 =0).
COMPUTE varNEU = v7.
END IF.
END IF.
EXECUTE. PS Ich glaube nicht, dass bei klarer, präziser und einfacher Darstellung das Problem nicht in kürzester Zeit zu lösen ist.
drfg2008
-
didumn
- Beiträge: 5
- Registriert: 02.08.2012, 15:13
Im ersten Post hatte ich einen Denkfehler.
Ich möchte die Fälle berechnen bei denen v7=1 ist, unter der Bedingung, dass weder v3 noch v5 und auch nicht beide gleichzeitig angekreuzt sind.
Also folgende Fälle:
v3=0 ; v5=0 ; v7=1 ---> vNeu=1
v3=1 ; v5=0 ; v7=1 ---> vNeu=0
v3=0 ; v5=1 ; v7=1 ---> vNeu=0
v3=1 ; v5=1 ; v7=1 ---> vNeu=0
Danke, für deine Mühe!
Ich möchte die Fälle berechnen bei denen v7=1 ist, unter der Bedingung, dass weder v3 noch v5 und auch nicht beide gleichzeitig angekreuzt sind.
Also folgende Fälle:
v3=0 ; v5=0 ; v7=1 ---> vNeu=1
v3=1 ; v5=0 ; v7=1 ---> vNeu=0
v3=0 ; v5=1 ; v7=1 ---> vNeu=0
v3=1 ; v5=1 ; v7=1 ---> vNeu=0
Danke, für deine Mühe!



