Kopfgruppen berechnen mit DO IF Befehlen in PSPP und SPSS
Als Marktforscher, Datenanalyst, Soziologe oder Psychologe – oder Student einer diese Fachrichtungen – kommt man immer wieder in die Situation, Kopfgruppen Variablen für statistische Analysen zu erzeugen. Dabei gibt es verschiedene Wege, je nach Software bietet sich eine bestimmte Vorgehensweise an.
In PSPP könnte man den recht umständlichen und langwierigen Weg wählen, über die Menüpunkte Transform, Compute oder Recode zu gehen und kommt nach vielen Klicks in der Regel zu einem Ergebnis. Aber warum das Leben schwer machen, wenn es auch einfach geht? Schließlich haben wir die Syntax, die nach anfänglichen Berührungsängsten eine viel schnellere und komfortablere Variante bietet!
Wir zeigen Ihnen hier anhand von drei kurzen Beispielen, wie man mit PSPP (oder SPSS) und der Syntax diese Aufgabe mit Bravour meistert.
Der DO IF Befehl
Der Do IF Befehl macht ziemlich genau das, was sein Name vermuten lässt:
Mach x, wenn Bedingungen y erfüllt ist.
Ein einfaches Beispiel:
Wie haben die Variablen Geschlecht und Alter, hier wollen wir eine Variable / Kopfgruppe bilden, die alle Frauen im Alter von 18 bis 29 Jahren beinhaltet.
v_gender |
1= | “männlich” |
2= | “weiblich” |
v_age |
1= | “18 – 29 Jahre” |
2= | “30 – 39 Jahre” |
3= | “40 – 49 Jahre” |
4= | “50 – 59 Jahre” |
5= | “60 – 59 Jahre” |
6= | “70 Jahre +” |
Wir sagen der Syntax also folgendes:
DO IF (v_gender = 2) AND (v_age = 2). COMPUTE KG_01 = 1. END IF. EXECUTE.
Erklärung:
Auf den DO IF Befehl folgt der COMPUTE Befehl, dieser erzeugt die Variable KG_01 und gibt allen Teilnehmern, auf die die Bedingung zutrifft den Wert 1. Mit END IF wird der DO IF Befehl geschlossen und EXECUTE sorgt für die Ausführung der Befehlskette. Wichtig ist, jede einzelne Zeile mit einem Punkt abzuschließen.
DO IF und ELSE IF Kombinationen
Auf einen DO IF Befehl kann ein ELSE IF Befehl folgen, mit dem eine weitere Bedingung in eine Variable umgesetzt werden kann. Wie das funktioniert, zeigen wir Ihnen im nachfolgenden Beispiel.
Fortsetzung des Beispiels:
Neben den 18 bis 29 Jahre alten Frauen, wollen wir auch die Männer dieser Altersgruppe in einer Kopfgruppe darstellen.
Insgesamt würde das dann folgendermaßen aussehen:
DO IF (v_gender = 2) AND (v_age = 2). COMPUTE KG_01 = 1. ELSE IF (v_gender = 1) AND (v_age = 2). COMPUTE KG_01 = 2. END IF. EXECUTE.
Auf einen DO IF Befehl kann ein ELSE IF Befehl folgen, mit dem eine weitere Bedingung in eine Variable umgesetzt werden kann. Wir haben in der Variable KG_01 nun die 18-29 Jahre alten Frauen mit der Ausprägung 1 und die 18-29 Jahre alten Männer mit der Ausprägung 2.
Vergleichende Operatoren
Neben den gängigen Zeichen wie =, < und beispielsweise >, kennt PSPP noch weitere Ausdrücke, die ich zu verwenden empfehle. Dabei handelt es sich um die nachfolgend dargestellten vergleichenden Operatoren.
EQ -> ist gleich GT -> größer GE -> größer gleich LT -> kleiner LE -> kleiner gleich NE -> nicht gleich
Logische Operatoren
Neben den vergleichenden stehen uns die logischen Operatoren AND, OR und NOT zur Verfügung.
AND -> und (zwingende Bedingung) OR -> oder (optionale Bedingung) NOT -> nicht (zwingende Bedingung)
Erweitertes Beispiel:
In diesem Beispiel haben wir die Variablen Geschlecht, Alter, Automarke und Einkommen. Aus diesen Variablen wollen wir die drei folgenden Kopfgruppen erzeugen:
Kopfgruppe 1 / KG_01:
Männer ab 30 Jahren mit mehr als 50.000 € Einkommen, die Porsche oder Ferrari fahren.
Kopfgruppe 2 / KG_02:
Männer zwischen 30 und 49 Jahren mit einem Einkommen zwischen mehr als 75.000 € bis 100.000 €, die Ferrari oder Maseratti fahren.
Kopfgruppe 3 / KG_03:
Frauen ab 60 Jahren mit mehr als 100.000 € Einkommen, die Mercedes oder Audi fahren.
v_gender |
1= | “männlich” |
2= | “weiblich” |
v_age |
1= | “18 – 29 Jahre” |
2= | “30 – 39 Jahre” |
3= | “40 – 49 Jahre” |
4= | “50 – 59 Jahre” |
5= | “60 – 59 Jahre” |
6= | “70 Jahre +” |
v_car |
1= | “Mercedes” |
2= | “Audi” |
3= | “BMW” |
4= | “Porsche” |
5= | “Maseratti” |
6= | “Ferrari” |
v_income |
1= | “bis 29 T€” |
2= | “30 – 39.999 T€” |
3= | “40 – 49.999 T€” |
4= | “50 – 74.999 T€” |
5= | “75 – 100 T€” |
6= | “100 T€ +” |
Wir berechnen die Kopfgruppen mittels DO IF und ELSE IF Befehl in Verbindungen mit den oben genannten Operatoren. Das es jedoch zwischen den Kopfgruppen Überschneidungen gibt, müssen wir für jede Kopfgruppe eine Variable bilden.
Hier im Beispiel bilden wir die Variablen KG_01, KG_02 und KG_03.
DO IF ( (v_gender EQ 1 AND v_age GE 2) AND (v_car EQ 4 OR v_car EQ 6) AND (v_income GE 4) ). COMPUTE KG_01 = 1. ELSE IF ( (v_gender EQ 1) AND (v_age GE 2 AND v_age LE 3) AND (v_car EQ 5 OR v_car EQ 5) AND (v_income EQ 5) ). COMPUTE KG_02 = 1. ELSE IF ( (v_gender EQ 2 AND v_age GE 5) AND (v_car EQ 1 OR v_car EQ 2) AND (v_income GE 6) ). COMPUTE KG_03 = 1. END IF. EXECUTE.
Bei Fragen können Sie sich an info@resolution-research mit dem Betreff DO IF wenden. Gerne beraten wir Sie zu Ihrer Analyse.
Viel Erfolg beim Anaylsieren!
Grüße von Resolution Research – Marktforschungsinstitut Stuttgart!
www.resolution-research.de
info@resolution-research.de