Seite 1 von 1

Syntax für Between-Subjects auf Basis von Anzeigen-Logik

BeitragVerfasst: Fr 12. Apr 2019, 12:32
von Zebrafisch
Hallo zusammen,

Ich habe ein Between-Subjects Design mit 6 randomisierten Gruppen und dazu Daten erhoben. Jetzt muss ich aber, um die Gruppen in SPPS zu definieren, eine neue Variable erstellen, die die Gruppen 1-6 definiert.
Die Logik ist: Wenn jemand Q1 beantwortet hat (jegliche Antwort), dann ist er in Gruppe 1, wenn er Q2 beantwortet hat, dann Gruppe 2 etc.

Ich versuche als blutiger Anfänger gerade vergeblich, die Syntax dazu zu erstellen. Meine neue Zielvariable soll "Groups" sein.
Mein bisheriger Versuch (bisher hat es nicht funktioniert, nur Fehlermeldungen bzw. "Groups" als Konstante angezeigt):

NUMERIC Groups (F8.0) .
COMPUTE Groups =0.
DO IF ((Q5)=4 or (Q5)=5 or (Q5)=6 (ELSE=SYSMIS).
RECODE Groups=1.
ELSE IF ((Q323)=4 or (Q323)=5 or (Q323)=6 (ELSE=SYSMIS).
RECODE Groups=2.
ELSE ((Q371)=4 or (Q371)=5 or (Q371)=6 (ELSE=SYSMIS).
RECODE Groups=3.
(...)
END IF.

(4,5,6 sind jeweils die Antwortmöglichkeiten in den Anfangsfragen, die die Gruppen definieren).
Ich denke da sind mehrer Fehler drin, daher wäre ich um jede Hilfe dankbar!!
Tausend Dank im Voraus!

Re: Syntax für Between-Subjects auf Basis von Anzeigen-Logik

BeitragVerfasst: Fr 12. Apr 2019, 13:43
von ponderstibbons
Streiche überall (ELSE=SYSMIS). Das ist tatsächlich aus mindestens 3 Gründen falsch bzw. unangebracht.

nur Fehlermeldungen

Es wäre im Zweifel angebracht, den Inhalt von Fehlermeldungen wiederzugeben.

Mit freundlichen Grüßen

PonderStibbons

Re: Syntax für Between-Subjects auf Basis von Anzeigen-Logik

BeitragVerfasst: Fr 12. Apr 2019, 14:07
von Zebrafisch
Danke!!

Jetzt gehe ich mit dieser Syntax vor, aber leider passiert mit meiner erstellten Variable "Groups" nichts:

DO IF ((Q5)=4 or (Q5)=5 or (Q5)=6).
COMPUTE Groups =1.
END IF.
DO IF ((Q323)=4 or (Q323)=5 or (Q323)=6).
RECODE Groups (1=2).
END IF.
DO IF ((Q371)=4 or (Q371)=5 or (Q371)=6).
RECODE Groups (1=3).
END IF.

Fehlermeldung:
>Error # 4070. Command name: END IF
>The command does not follow an unclosed DO IF command. Maybe the DO IF
>command was not recognized because of an error. Use the level-of-control
>shown to the left of the SPSS Statistics commands to determine the range of
>LOOPs and DO IFs.
>Execution of this command stops.

Re: Syntax für Between-Subjects auf Basis von Anzeigen-Logik

BeitragVerfasst: Fr 12. Apr 2019, 15:10
von strukturmarionette
HI,

mache es über das SPSS-Dialogfeld dazu.
Dann hast Du die korrekte Sntax automatisch dabei.

Gruß
S.

Re: Syntax für Between-Subjects auf Basis von Anzeigen-Logik

BeitragVerfasst: Fr 12. Apr 2019, 15:28
von Zebrafisch
Hallo S,

wie meinst du das genau? Über "compute variable" im Menü?

Danke und viele Grüße

Re: Syntax für Between-Subjects auf Basis von Anzeigen-Logik

BeitragVerfasst: Fr 12. Apr 2019, 15:59
von ponderstibbons
Wie man DO IF korrekt verwendet, sollte sich eigentlich aus der Anleitung des Herstellers ergeben.
http://www-01.ibm.com/support/docview.w ... wg21476060
Zu beachten ist, wo END IF zu platzieren ist und was es mit ELSE IF auf sich hat.

Du kannst aber auch sukzessive, wie von Strukturmarionette angeregt,
das Menue für Umcodieren benutzen. Dort gibt es einen "Falls" Button.

Re: Syntax für Between-Subjects auf Basis von Anzeigen-Logik

BeitragVerfasst: Fr 12. Apr 2019, 18:21
von Zebrafisch
Vielen Dank euch beiden!

Es hat jetzt final ENDLICH funktioniert. Hier mein Syntax für alle, die die gleiche Herausforderung haben:

DO IF (Q5=4) or (Q5=5) or (Q5=6).
COMPUTE Grouping =1.
END IF.
DO IF (Q323=4) or (Q323=5) or (Q323=6).
COMPUTE Grouping =2.
END IF.
DO IF (Q371=4) or (Q371=5) or (Q371=6).
COMPUTE Grouping =3.
END IF.
DO IF (Q397=4) or (Q397=5) or (Q397=6).
COMPUTE Grouping =4.
END IF.
DO IF (Q299=4) or (Q299=6) or (Q299=7).
COMPUTE Grouping =5.
END IF.
DO IF (Q181=4) or (Q181=6) or (Q181=7).
COMPUTE Grouping =6.
ELSE.
COMPUTE Grouping =99.
END IF.
EXECUTE.