Hallo!
Ich bin leider nicht so erfahren im Umgang mit SPSS und habe nun ein Problem bei meiner Auswertung der Fragebögen. Ich hoffe, ich schaffe es das Problem im Folgenden einmal präzise zu erklären:
Ich möchte im Prinzip den Mittelwert aus einer gewählten Anzahl an Antworten berechnen, also für jede Person, dabei müssen die Missings jedoch durch den Mittelwert der ausgefüllten Variablen ersetzt werden. Wenn es zu viele Missings (mehr als 5) bei einer Person gibt, soll der Mittelwert nicht bestimmt werden. Dafür habe ich bereits eine Syntax geschrieben, welche bei der Ausführung immer zum Fehler 4007 führt, immer sobald die zweite Variable durchlaufen wird. Außerdem werden die Missings offensichtlich durch Punkte ersetzt und nicht wie gewünscht durch die Mittelwerte der verfügbaren Variablen. Kann mir jemand weiterhelfen? Unten einmal die bisherige Syntax...
*Anzahl der Missings bestimmen
COMPUTE miss_I_internal_scale_hloc=0.
DO REPEAT vars = I_hloc2 I_hloc5 I_hloc8 I_hloc9 I_hloc11 I_hloc14 I_hloc17 I_hloc18 I_hloc19 I_hloc20.
DO IF vars = 99.
COMPUTE miss_I_internal_scale_hloc=miss_I_internal_scale_hloc + 1.
END IF.
END REPEAT.
EXECUTE.
*Bedingung für Missings prüfen
DO IF miss_I_internal_scale_hloc < 6 .
DO REPEAT vars = I_hloc2 I_hloc5 I_hloc8 I_hloc9 I_hloc11 I_hloc14 I_hloc17 I_hloc18 I_hloc19 I_hloc20.
COMPUTE mean_I_internal_scale_hloc=MEAN(I_hloc2 I_hloc5 I_hloc8 I_hloc9 I_hloc11 I_hloc14 I_hloc17 I_hloc18 I_hloc19 I_hloc20<99).
DO IF vars =99.
COMPUTE vars=mean_I_internal_scale_hloc.
END IF.
END REPEAT.
* Mittelwerte der Subskalen berechnen.
COMPUTE I_internal_scale_hloc=MEAN( I_hloc2 I_hloc5 I_hloc8 I_hloc9 I_hloc11 I_hloc14 I_hloc17 I_hloc18 I_hloc19 I_hloc20).
EXECUTE.
END IF.
EXECUTE.
Noch zur Erklärung: h_loc_X sind die Antworten der Personen
miss_I_internal_scale_hloc ist die Anzahl der Missings
mean_I_internal_scale_hloc soll der Mittelwert der verfügbaren Antworten sein, durch den die Missings ersetzt werden sollen.
Ich glaube insbesondere das ersetzen der Missings führt zu einem Problem, da ja immer andere Variablen für die Berechnung verwendet werden sollen.
Bitte dringend um Hilfe! Vielen Dank an euch!!!!
Gruß
Risco
Daten ersetzen; Fehler 4007
-
- Beiträge: 346
- Registriert: 25.09.2012, 15:04
Code: Alles auswählen
DO IF miss_I_internal_scale_hloc < 6 .
DO REPEAT vars = I_hloc2 I_hloc5 I_hloc8 I_hloc9 I_hloc11 I_hloc14 I_hloc17 I_hloc18 I_hloc19 I_hloc20.
COMPUTE mean_I_internal_scale_hloc=MEAN(I_hloc2 I_hloc5 I_hloc8 I_hloc9 I_hloc11 I_hloc14 I_hloc17 I_hloc18 I_hloc19 I_hloc20<99).
DO IF vars =99.
COMPUTE vars=mean_I_internal_scale_hloc.
END IF.
END REPEAT.