Zum Hauptinhalt springen

SPSS Wertelabels für die Ausgabe umformatieren

Anwendungsfälle

Kategoriale Variablen können in SPSS als ursprüngliche Texte verwendet werden, was bei größeren Datenmengen beträchtliche Performance-Einbrüche mit sich bringt, oder als numerische Codes mit Labels. Der zweite Weg ist nicht nur drastisch performanter, sondern auch der richtige Weg, weil es den Code in der SPSS-Syntax zwar schlechter lesbar macht, aber dafür völlig immun gegenüber Änderungen in Schreibweisen ist.

In SPSS ist voreingestellt, ob man bei Ergebnisausgaben, z. B. beim FREQUENCIES-Befehl, als Beschriftung die Zahlencodes, die Labels oder beides angezeigt bekommt. Alles hat Vor- und Nachteile ...

  • Nur die Labels sind am schönsten, wenn man den Output als fertige Tabelle in ein Dokument einbettet.
  • Codes mit Labels gleichzeitig erleichtern die explorative Datenanalyse und das Entwickeln der Syntax, da man einerseits die Codes direkt z. B. für Filterbedingungen entnehmen kann, aber andererseits auch die Bedeutung daneben sofort sieht. Wenn man nun aber das Ergebnis z. B. für weitere Arbeitsschritte in Excel hineinkopiert, ist beides in einer Zelle vereint und lässt sich nur über Formeln oder händisch wieder trennen.
  • Nur die Codes sind daher am besten für die Weiterverarbeitung, aber sonst ist dieses Format für nichts wirklich geeignet.

Workaround in 'Optionen'

Man kann zwischen den verschiedenen Formaten in den Optionen wechseln. Unter "Bearbeiten -> Optionen -> Ausgabe" gibt es links den Bereich "Gliederungsbeschriftung". Hier kann man für die Variablennamen und die Variablenwerte über Pulldowns zwischen Labels, Werten/Namen und beidem wechseln.

Best Practice mit Syntax

Jetzt ist es schon recht umständlich, jedes Mal diesen Menüpunkt aufzurufen, um die Einstellungen nach Bedarf zu ändern. Einfacher geht es in der Syntax direkt mit Optionsbefehlen.

 *** Bei Werten:
 *** Wechsel auf "nur Codes": 
SET TNUMBER VALUES.
 *** Wechsel auf "nur Beschriftungen": 
SET TNUMBER LABELS.
 *** Wechsel auf beides: 
SET TNUMBER BOTH.
 *** Bei Variablen 
*** Wechsel auf "nur Spaltenname": 
SET TVAR NAMES.
 *** Wechsel auf "nur Beschriftungen": 
SET TVAR LABELS.
 *** Wechsel auf beides:
 SET TVAR BOTH. 

Man kann also in einer laufenden Syntax schnell für eine einzelne Ausgabe zwischen zwei Schreibweisen wechseln:

FREQ spalteA spalteB spalteC.
 SET TNUMBERS BOTH.
 FREQ spalte_special.
 SET TNUMBERS CODE.
 FREQ spalteD spalteE spalteF. 

Beispiel

Hier ein konkretes Beispiel mit Automarken. Die Spalte "Marke" im Datensatz enthält Automarken als numerischen Code mit Labels.

SET TNUMBERS VALUES.
 FREQU marke.
 SET TNUMBERS BOTH.
 FREQU marke.
 SET TNUMBERS LABELS.
 FREQ marke. 

Der oben ausgeführte Code führt zu folgenden drei Varianten in der Ausgabe:

spss-wertelabels

Stefan Seltmann
Dein Ansprechpartner
Stefan Seltmann
Lead Expert
Stefan liebt das Programmieren, vor allem rund um Data Engineering und Data Science, und arbeitet quasi in seinem Hobby. Gerade für Softwareentwicklung mit Python und/oder Spark punktet er als b.telligents Telefonjoker.
#CodeFirst, #TestMore, #CodeDoctor