Hallo,
ich mache derzeit Auswertungen im Rahmen einer Abschlussarbeit der Uni und habe ein Syntaxproblem.
Ich möchte im Prinzip den Mittelwert aus einer gewählten Anzahl an Antworten berechnen (einen Score aus mehreren Variablen bzw. Antworten).
Jedoch kommt es häufiger vor, dass einzelne Antworten fehlen, bspw. bei 10 Fragen für einen Score sind nur 5 vorhanden. Diese Missings sollen (sofern die Hälfte der relevanten Antworten vorhanden ist) durch den Mittelwert der ausgefüllten Variablen ersetzt werden. Wenn es also zu viele Missings (hier mehr als 5) bei einer Person gibt, soll der Mittelwert nicht durch den der restlichen ersetzt werden. Und der Score soll dementsprechend auch nur berechnet werden, wenn nach Ersatz der fehlenden Werte alle notwendigen vorhanden sind.
Dafür habe ich bereits eine Syntax geschrieben (die vllt noch fehlerhaft ist), 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.
*Anzahl der fehlenden Werte zählen (damit erkenntlich, ob die Hälfte der Antworten vorhanden ist)
COUNT I_miss_internnal_hloc=I_hloc2 I_hloc5 I_hloc8 I_hloc9 I_hloc11 I_hloc14 I_hloc17 I_hloc18 I_hloc19
I_hloc20(99).
EXECUTE.
*Bedingung für Missings prüfen
DO IF I_miss_internnal_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
I_miss_internnal_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 (verschiedene Kombinationen, welche Werte fehlen und ersetzt werden müssen).
Ich würde mich sehr freuen, wenn mir jemand helfen könnte!!
Fehlende Werte durch Mittelwerte ersetzen wenn ...
-
- Beiträge: 1
- Registriert: 19.07.2014, 11:35