Transformation und Berechnung von Variablen in SPSS

Lesen Sie, wie Sie Variablen in SPSS transformieren und neue Variablen berechnen, um Eingangsvariablen zu kategorisieren und Dummy-Variablen oder Mittelwertindizes zu erstellen.
Sebastian | 01.09.2022 | Lesedauer 9 min

Bei der Datenanalyse für quantitative Arbeiten kommt es regelmässig vor, dass Variablen für die weiteren Berechnungen transformiert werden müssen, da sie in ihrem ursprünglichen Zustand nicht für bestimmte Methoden geeignet sind oder z. B. schlicht umgerechnet werden müssen. Der Beitrag bietet einen Überblick über die wichtigsten Formen der Variablentransformation in SPSS. Neben einer Transformation mithilfe von Rechenoperationen kommen die Erstellung von Kategorien, von Dummy-Variablen, die Umkehrung von Skalenausprägungen oder die Berechnung von Indizes in Betracht.

Grundsätzlich bestehen bei SPSS zwei Alternativen, die gewünschten Berechnungen in das Programm einzugeben: via Menüleiste oder über einen Befehlscode, die sogenannte Syntax. Auf eine Eingabe mittels Menü geht der Beitrag ebenso ein wie auf die Eingabe via SPSS-Syntax.

Ist man im Umgang mit dem Programm fortgeschrittener, so lassen sich Arbeitsschritte über diese Syntax effizienter abarbeiten als über manuelle Menüeingaben. Auch bei Seminar- und Abschlussarbeiten wird häufig gefordert, der Arbeit die verwendete Syntax anzuhängen. Sie dient gleichzeitig als von aussen nachvollziehbares Protokoll der Arbeitsschritte.

 


Datentransformation mit Rechenoperationen

Mögliche Anlässe für die Transformation einer Variablen sind zahlreich. Entsprechend ist es möglich, Ausgangsvariablen jeder möglichen mathematischen Operation zu unterziehen, um im Ergebnis eine neue Variable zu erhalten. In einem einfachen Fall könnte es z. B. sein, dass wir eine Umfrage durchgeführt haben, in der die befragten Personen lediglich ihr Geburtsjahr angeben mussten. Für die weiteren statistischen Analysen benötigen wir aber nicht das Geburtsjahr, sondern das Lebensalter der Personen. Dies erhalten wir, wenn wir im Rahmen einer Datentransformation das Geburtsjahr vom Jahr der Befragung subtrahieren.

 

Alter aus Geburtsjahr berechnen

In der Ausgangssituation liegen die Geburtsjahre von 10 Personen vor und der entsprechende SPSS-Datensatz wurde bereits in das Programm geladen. Die Spannweite der Geburtsjahre reicht von 1955 bis 2000. Das nun zu berechnende Alter dieser Personen soll in einer neuen Variable „alter“ gespeichert werden.

SPSS Variablen Datensatz

Eine Möglichkeit der Berechnung führt über das SPSS-Menü. Hier wählen wir den Pfad „Transformieren“ und anschliessend „Variable berechnen“.

SPSS Variablen berechnen Menü

Daraufhin öffnet sich das Dialogfeld zur Berechnung von Variablen. In der Variablenliste links werden alle im Datensatz verfügbaren Variablen angezeigt, aus denen gleich die für die Berechnung relevanten ausgewählt werden können. Die eigentlichen Berechnungsschritte werden im Feld „Numerischer Ausdruck“ eingegeben. Neben mathematischen Operatoren stehen hier eine Reihe von Funktionen zur Verfügung, die im weiteren Verlauf des Beitrags noch näher betrachtet werden.

SPSS Variablen Dialogfeld

Unter „Zielvariable“ wird zunächst der Name der Variable vergeben, die nun neu berechnet werden soll. In diesem Fall tragen wir dort „alter“ ein. Für die Eingabe im Feld „numerischer Ausdruck“ nehmen wir an, dass die Umfrage im Jahr 2022 durchgeführt wurde. Das jeweilige Geburtsjahr muss also vom Jahr 2022 abgezogen werden. Entsprechend wird nun „2022“ gefolgt von einem „-“ in das Feld eingetragen. Statt den Variablennamen des Geburtsjahres manuell einzutragen, können wir es aus der linken Seite auswählen und auf den blauen Pfeil klicken, um die Variable nach rechts zu ziehen. Die vollständige Rechenanweisung für das Feld lautet also „2022-geburtsjahr“. Nachdem unter dem Menüpunkt „Falls…“ keine Bedingungen eingestellt werden sollen, kann die Auswahl nun mit „OK“ bestätigt werden und die neue Variable wird berechnet. Das Alter der Befragten wurde dem Datensatz nun hinzugefügt.

SPSS Variablen Dialogfeld

SPSS Variablen Datensatz

 

BMI aus Körpergrösse und Gewicht berechnen

Mithilfe der mathematischen Operatoren im Dialogfeld lassen sich noch zahlreiche andere Berechnungen durchführen. Nehmen wir für eine weitere Berechnung an, dass wir eine gesundheitsbezogene Umfrage durchgeführt haben, die das Gewicht (kg) und die Körpergrösse (cm) von Zielpersonen erfasst. Mithilfe des Dialogfeldes soll nun der BMI der Befragten berechnet werden.

SPSS Variablen Datensatz

Für die Berechnung des BMIs müssen wir im Dialogfeld „Numerischer Ausdruck“ also nun die entsprechende Formel eingeben, die wir zuvor recherchiert haben. Der BMI ist demnach das Körpergewicht in kg dividiert durch die quadrierte Körpergrösse in Metern. Im Feld „Zielvariable“ tragen wir zunächst den Namen der neuen Variable „bmi“ ein. Im Feld numerischer Ausdruck wird „gewicht/(körpergrösse/100)**2“ eingetragen. Da die Körpergrösse bislang in cm vorliegt, müssen wir die Variable für eine Umrechnung in m durch 100 dividieren. Die Zeichenfolge „**2“ steht für die Quadrierung des Divisors. Nach der Bestätigung mit „OK“ erhalten wir die neue BMI-Variable.

SPSS Variablen Dialogfeld

SPSS Variablen Datensatz

Natürlich lassen sich die Berechnungsschritte für die Erstellung der Alters- und BMI-Variable auch über die SPSS-Syntax eingeben. Hierfür wird der COMPUTE-Befehl verwendet, der jeweils wie folgt spezifiziert wird:

COMPUTE alter=2022-geburtsjahr.
EXECUTE.
COMPUTE bmi=gewicht/(körpergröße/100)**2.
EXECUTE.

 


Kategorisierung von Eingangsvariablen

Häufig kommt es ausserdem vor, dass man mehrere Ausprägungen einer metrischen oder ordinalen Variablen grösseren Kategorien zuordnet, ursprüngliche Eingangsvariablen also kategorisiert werden sollen. Das passiert z. B. sehr häufig beim Alter von Personen, das anschliessend verschiedenen Alterskategorien zugeordnet wird. Die neue Variable könnte z. B. zwischen jung, mittelalt und älter differenzieren. Hier soll jedoch der oben bereits erstellte BMI als Ausgangsvariable dienen, um den Personen im Datensatz verschiedene Kategorien von „Untergewicht“ bis „Adipositas“ zuzuordnen. Eine Recherche ergibt, dass die Kategorien wie folgt lauten:

  • BMI < 18,50: Untergewicht
  • BMI >= 18,50 < 25,00:Normalgewicht
  • BMI >= 25 < 30:Übergewicht
  • BMI >= 30: Adipositas

Um die kategorisierte BMI-Variable zu erstellen, führt ein Weg erneut über das Menü. Wir wählen hier den Pfad „Transformieren“ und anschliessend „Umcodieren in andere Variable“.

SPSS Variablen berechnen Menü umcodieren

Nach Auswahl wird das folgende Dialogfeld angezeigt. Auf der linken Seite wird wieder eine Liste der Variablen im Datensatz angezeigt. Die Ausgabevariable wird auf der rechten Seite benannt und ggf. beschriftet. Die Schaltfläche „Alte und neue Werte“ dient schliesslich dazu, einzelnen Wertebereichen Kategorien zuzuordnen.

SPSS Variablen Dialogfeld

Zunächst wird die Eingabevariable „bmi“ hinzugefügt, indem die ausgewählt und mithilfe des blauen Pfeils in die Mitte verschoben wird. Auf der rechten Seite wird der Name der kategorisierten BMI-Variable eingegeben, die hier als „bmi_kat“ bezeichnet wird. Unter „Alte und neue Werte“ können wir schliesslich die oben recherchierten BMI-Kategorien eingeben und sie mit Werten von 1 bis 4 versehen. Hierfür können wir auf der linken Seite den alten Wertebereich definieren, der mit dem neuen Wert auf der rechten Seite versehen wird. Ebenso können aus bestimmten Werten der alten Variable fehlende Werte für die neue Variable erstellt werden. Nach der Abdeckung des gesamten Wertebereichs der alten Variable mit neuen Kategorien kann die Auswahl mit „Weiter“ und schliesslich mit „OK“ bestätigt werden.

SPSS Variablen Dialogfeld

Im Ergebnis wird dem Datensatz die kategorisierte Variable „bmi_kat“ hinzugefügt. Demnach sind Personen in drei verschiedenen BMI-Kategorien von „Normalgewicht“ bis „Adipositas“ enthalten. Keine der Personen ist laut BMI-Definition untergewichtig.

SPSS Variablen Datensatz

Mithilfe der Syntax kann der Befehl folgendermassen repliziert werden, wobei daneben noch weitere Möglichkeiten der Zuweisung zu Kategorien bestehen.

RECODE bmi (0.0 thru 18.49=1) (18.50 thru 24.99=2) (25.00 thru 29.99=3)
(30.00 thru Highest=4) INTO bmi_kat
EXECUTE.

 


Erstellung von Dummy-Variablen

Ein Spezialfall der Transformation einer Variablen zu Kategorien ist die Erstellung einer Dummy-Variable, die meist aus den Ausprägungen einer nominalen Variable erstellt wird. Hierbei wird aus jeder Ausprägung der Ausgangsvariable eine neue Variable erstellt, die nur zwei Kategorien mit den Ausprägungen 0 („nein“, „nicht vorhanden“) und 1 („ja“, „vorhanden“) enthalten.

Häufig ist eine solche dichotom skalierte Variable z. B. für die Anwendung bestimmter Methoden notwendig. So könnte es z. B. sein, dass wir die Dummy-Variablen als unabhängige Variablen in einem Regressionsmodellberücksichtigen wollen, für das ein nominal skalierter Prädiktor ungeeignet ist. Auch für die binär-logistische Regression benötigen wir eine dichotom skalierte abhängige Variable.

Automatische Erstellung von Dummy-Variablen

Nehmen wir an, dass wir den Familienstand von zehn Personen erhoben haben. Diese haben angegeben, ob sie ledig (1), verheiratet (2), geschieden (3) oder verwitwet (4) sind. Für jede dieser Ausprägungen wird im Folgenden ein Dummy erstellt, der angibt, ob die Ausprägung vorhanden (1) ist oder nicht (0).

SPSS Variablen Datensatz

SPSS bietet die Möglichkeit der automatisierten Erstellung von Dummy-Variablen, die über die Menüführung zu erreichen ist. Hierfür klicken wir „Transformieren“ und dann „Dummy Variablen erstellen“. Auf der linken Seite werden die im Datensatz vorhandenen Variablen angezeigt. Relevant ist ausserdem das rechte Feld „Dummy-Variablen erstellen für“, mit dem die Eingangsvariable definiert wird.

SPSS Variablen berechnen Menü

SPSS Variablen Dialogfeld

Zunächst markiert man also die Eingangsvariable „familienstand“ und verschiebt sie mithilfe des blauen Pfeils in das rechte Feld „Dummy-Variablen erstellen für“. Für die Erstellung des Dummys ist ausserdem die Checkbox „Dummys für Haupteffekte erstellen“ voraktiviert. Im Feld „Stammnamen“ wird nun der Stammname der vier neuen Variablen festgelegt, der später durch das Programm für die jeweiligen Dummys erweitert wird. Wir geben hier „famstand_dummy“ ein und bestätigen die Auswahl mit „OK“. Im Ergebnis erhalten wir vier neue Variablen. Die Variable „famstand_dummy_1“ hat nun z. B. die Ausprägung 1, wenn eine Person ledig ist, und ist in allen anderen Fällen 0.

SPSS Variablen Datensatz

Manuelle Erstellung von Dummy-Variablen

Dummy-Variablen lassen sich jedoch auch über das oben verwendete Menü „Umcodieren in neue Variablen“ erstellen. Hierfür werden die Dummys einzeln erstellt, sodass als Eingangsvariable „familienstand“ und als Ausgangsvariable ein erster Dummy „dummy_ledig“ definiert werden. Über die Schaltfläche „Alte und neue Werte“ wird nun zugewiesen, dass der Eingangswert 1 auch im Falle der Ausgangsvariable eine 1 erhält, während alle anderen Werte zu 0 werden. Zuletzt wird mit „Weiter“ und „OK“ bestätigt. Diese Schritte werden für alle weiteren benötigten Dummys wiederholt, wobei im Falle von „verheiratet“ aus dem Wert 2, von „geschieden“ aus dem Wert 3 und von „verwitwet“ aus dem Wert 4 in der jeweiligen Dummy-Variable eine 1 wird.

SPSS Variablen Dialogfeld

SPSS Variablen Dialogfeld

Die dargestellten Berechnungsschritte lassen sich auch über die Syntax eingeben:

SPSSINC CREATE DUMMIES VARIABLE=familienstand
ROOTNAME1=famstand_dummy
/OPTIONS ORDER=A USEVALUELABELS=YES USEML=YES OMITFIRST=NO.

RECODE familienstand (1=1) (ELSE=0) INTO dummy_ledig.
EXECUTE.
RECODE familienstand (2=1) (ELSE=0) INTO dummy_verheiratet.
EXECUTE.
RECODE familienstand (3=1) (ELSE=0) INTO dummy_geschieden.
EXECUTE.
RECODE familienstand (4=1) (ELSE=0) INTO dummy_verwitwet.
EXECUTE.

 


Umkodieren invertierter Items

Hin und wieder kommt es vor, dass die Ausprägungen von Variablen mit invertierten (umgekehrten) Antwortausprägungen umkodiert werden müssen. Folgendes Beispiel verdeutlicht das: Für eine Seminararbeit verwendet man den Sekundärdatensatz einer grossen Bevölkerungsumfrage. Dabei wurde auch der Gesundheitszustand der befragten Personen erfasst. Die ordinal skalierte Variable hat folgende Ausprägungen:

  • Sehr gut (1)
  • Gut (2)
  • Mittelmässig (3)
  • Schlecht (4)
  • Sehr schlecht (5)

SPSS Variablen Datensatz

Wird die Variable in dieser Form in weiteren Analysen verwendet, kann es leicht zu Verwirrungen kommen. Grund hierfür ist die kontraintuitive Kodierung der Antwortausprägungen, die höhere Werte bei schlechteren Gesundheitszuständen vergibt. Intuitiver zu interpretieren wäre eine Zuordnung von schlechten Gesundheitszuständen zu niedrigen und guten Gesundheitszuständen zu hohen Werten. Für die weitere Verwendung soll die Variable daher umkodiert werden.

Auch für diesen Zweck kann das Menü „Umcodieren in andere Variablen“ unter „Transformieren“ verwendet werden. Der Unterschied zum o. g. Vorgehen besteht darin, dass nicht mehrere Ausprägungen zu einer Kategorie werden, sondern eine Ausprägung jeweils eine neue Ausprägung erhält. Die Reihenfolge der Antwortausprägungen wird dabei umgekehrt oder umgepolt. Soll anstelle der Erstellung einer neuen Variable die alte überschrieben werden, wird stattdessen der Menüpunkt „Umcodieren in dieselben Variablen“ verwendet.

SPSS Variablen Dialogfeld

SPSS Variablen Dialogfeld

Die neue Variable „gesundheitszustand_umkodiert“ enthält nun eine intuitiv nachvollziehbare Reihenfolge der Antwortausprägungen. Bei den folgenden Analysen muss darauf geachtet werden, diese Variable anstelle der ursprünglichen Variable zu verwenden. Die Interpretation von Regressionsmodellen fällt bspw. nun deutlich leichter. Über die SPSS-Syntax wird dasselbe Ergebnis über den nachfolgenden Befehl produziert.

RECODE gesundheitszustand (1=5) (2=4) (3=3) (4=2) (5=1) 
INTO gesundheitszustand_umkodiert.
EXECUTE.

 


Mittelwerte und Indizes berechnen

In einem weiteren Beitrag wurden die Anlässe und grundlegenden Berechnungsschritte für die Erstellung verschiedener Indizes erläutert. Einer dieser Anlässe könnte bspw. vorliegen, wenn wir ein Messinstrument aus mehreren Items verwenden. Als Beispiel verwenden wir drei Items, die jeweils Ausprägungen von „trifft überhaupt nicht zu“ (1) bis „trifft voll und ganz zu“ (5) annehmen können. Die Methodik des Instruments sieht vor, dass die Werte der Einzelitems nun zu einem Mittelwertindex verrechnet werden.

SPSS Variablen Datensatz

Um einen Index mithilfe von SPSS zu erstellen, wird erneut das Menü „Transformieren“ und „Variable berechnen“ verwendet. Die Zielvariable soll „items_mw“ heissen. In diesem Fall wird eine der Funktionen aus der rechten Liste benötigt, die entweder hieraus ausgewählt oder direkt in das Feld „Numerischer Ausdruck“ eingegeben werden kann. Die Mittelwertfunktion findet sich unter der Funktionsgruppe „Statistisch“, woraufhin in der Liste „Funktionen und Sondervariablen“ u. a. die Funktion „Mean“ erscheint.

SPSS Variablen Dialogfeld

SPSS Variablen Dialogfeld

Hilfreich sind die unten angezeigten Erläuterungen der Funktion. Dabei wird zum einen das Eingabemuster für den numerischen Ausdruck angezeigt, zum anderen die rechnerische Vorgehensweise der ausgewählten Funktion erklärt. Nach Auswahl der Funktion kann sie mithilfe des nach oben zeigenden blauen Pfeils in das Feld „Numerischer Ausdruck“ verschoben werden, wo sie nun mithilfe der drei Items spezifiziert wird. Nach der Funktion wird eine Klammer gesetzt, in der die zu berücksichtigenden Variablen durch ein Komma voneinander getrennt werden. Ein analoges Vorgehen ist möglich, wenn bspw. ein Summenindex bzw. additiver Index erstellt werden soll. Im Ergebnis wird der neue Mittelwertindex nach Auswahl von „OK“ dem Datensatz hinzugefügt.

SPSS Variablen Datensatz

Auch der Mittelwertindex und andere Indizes lassen sich ebenso über die SPSS-Syntax produzieren. Sind die Funktionsnamen in SPSS bekannt, lassen sich so viele Arbeitsschritte effizient kombinieren.

Weiterführende Literatur

Eckstein, P. P. (2017). Datenanalyse mit SPSS. Wiesbaden: Springer.

Steiner, E., Benesch, M. (2018). Der Fragebogen: Von der Forschungsidee zur SPSS-Auswertung. Stuttgart: UTB.