Daten ersetzen; Fehler 4007

Fragen und Diskussionen rund um die Arbeit mit SPSS. Für allgemeine Statistik-Themen, die nicht mit SPSS zusammenhängen, bitte das Statistik-Forum nutzen.
Antworten
Risco
Beiträge: 1
Registriert: 12.07.2014, 15:15

Daten ersetzen; Fehler 4007

Beitrag von Risco »

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
Frido
Beiträge: 346
Registriert: 25.09.2012, 15:04

Beitrag von Frido »

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.
Dort fehlt ein "END IF", denn du machst zweil mal ein "DO IF" auf, aber schließt es nur einmal!
Anzeige:Statistik und SPSS: Die besten Bücher
Als Buch oder E-Book - Jetzt bestellen
spss datenanalyse
SPSS - Moderne Datenanalyse - Jetzt bestellen!
statistik datenanalyse
Statistik - Der Weg zur Datenanalyse - Jetzt bestellen!
Antworten