Hallo zusammen!
Auch ich habe mit SPSS ein kleines/großes Problem im Rahmen einer Datenauswertung in Anwendung der sog. Ziffernanalyse. Was ich eigentlich machen möchte, ist die Häufigkeiten der Anfangsziffern verschiedener Variablen zu bestimmen. Enthält eine Variable also z.B. die Werte 1, 22, 27, 300, 789, 541, so hätte ich gerne eine Häufigkeitstabelle mit dem Inhalt 1x1, 2x3, 1x3, 1x7 und 1x5.
Nachdem ich mich etwas in das Programm eingearbeitet habe, hatte ich mir auch einen Ansatz für das Problem überlegt. Um zwar habe ich für jede Variable folgenden Befehl ausgeführt:
STRING abcd_1 (A10).
COMPUTE abcd_1=CHAR.SUBSTR(STRING(ABS(abcd),F10.2),1,1).
VARIABLE LABELS abcd_1 'XYZ'.
Ich wandle also zunächst den Betrag der Zahl (numerischer Ausdruck) in eine Zeichenkette und greife in dieser auf die erste Stelle zu.
Nun musste ich leider feststellen, dass dieser Befehl nicht zuverlässig funktioniert und die neue Variable abcd_1 in einer Vielzahl der Fälle nur einen Bruchteil an ersten Ziffern enthält. Kann mir vllt. jemand von euch hier weiterhelfen? Wo kann das Problem liegen?
Ich habe bereits herausgefunden, dass die Konvertierung in den String problemlos verläuft. Also scheint es lediglich ein Problem mit dem Befehl char.substr(...) zu geben, welcher die Stelle der Zeichenkette scheinbar nicht korrekt extrahiert.
Ist die Vorgehensweise in der Form überhaupt nötig, oder gibt es hier auch einfachere Varianten, die vllt. zuverlässiger funktionieren? Für jeden Tipp bin ich unendlich dankbar!