Mittelwert für variierende Anzahl von Werten

Alles rund um SPSS Syntax und Programmierung.

Mittelwert für variierende Anzahl von Werten

Beitragvon Ahnungslos_1 » Do 16. Aug 2018, 19:43

Hallo ihr Lieben!

Ich werte gerade für meine Abschlussarbeit einen Datensatz aus und bin dabei über folgende Herausforderung gestolpert:

Ich habe 7 Variablen, in denen jeweils die Distanz von einem Firmenstandort A bis zu den Firmenstandorten B, C, D, E, F, G und H niedergeschrieben steht. Die Orte und dementsprechend auch die Distanzen unterscheiden sich von Person zu Person. Außerdem verfügen nicht alle Firmen unbedingt über 8 Standorte und manche Personen haben dementsprechend nur ein, zwei, drei... Distanzen angegeben und die restlichen Felder nicht ausgefüllt (in die leeren Felder habe ich 999 eingefügt und diese als missing value definiert).
Ich möchte nun gerne den Mittelwert der Distanzen errechnen lassen und grundsätzlich geht das ja auch über "Variable berechnen".

Ich habe mir den folgenden Befehl zusammengebastelt: IF (DispB4_b ~= 999) Disp# = (DispB4_b+DispC4_b+DispD4_a+DispE4_b+DispF4_a+DispG4_b+DispH4_b) /(7-Disp_mis).
EXECUTE.

Den MEAN-Befehl habe ich dafür nicht benutzt, da dieser ja erst ab 2 Werten rechnet, ich aber auch im Falle von nur einer vorhandenen Distanz ein Ergebnis haben möchte.

Disp# ist die Ergebnisvariable, die die Mittelwerte beinhalten soll.
DispB4_b ist die Variable mit den ersten Ortdistanzen. Wenn dort eine 999 drin steht, bedeutet das, es gibt weniger als 2 Firmenstandorte und dementsprechend werden diese Fälle für die Berechnung der Mittelwerte ausgeschlossen. So erklärt sich der IF-Befehl.
Die 7 "Disp"-Variablen in der Klammer sind die Variablen mit den einzelnen Ortdistanzen. Für eine Berechnung der Mittelwerte werden sie logischerweise im ersten Schritt aufaddiert.
Die Variable "Disp_mis" beinhaltet die Anzahl der gefundenen '999'-Werte pro Fall in den 7 Disp-Variablen. Wenn also beispielsweise 2 Distanzen angegeben sind, fehlen noch 5 und 7-5 =2, somit wird die Distanzsumme durch die Anzahl der angegebenen Distanzen geteilt.

Da die 999 für alle Variablen als fehlender Wert codiert ist, nehme ich an, dass zum Beispiel bei einer 999 in der Variable DispH4_b diese Variable aus der Formel ausgeschlossen würde, richtig?

Trotzdem bekomme ich in der Ergebnisvariable nur für solche Fälle einen Mittelwert ausgespuckt, in denen 7 Distanzen angegeben sind und alle anderen Felder bleiben leer. Findet hier vielleicht jemand den Fehler, falls man durch meine Erklärung überhaupt durchsteigen kann? :?

Liebe Grüße und vielen Dank im Voraus

Nina
Ahnungslos_1
 
Beiträge: 10
Registriert: Mo 19. Feb 2018, 14:57
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Mittelwert für variierende Anzahl von Werten

Beitragvon Ahnungslos_1 » Do 16. Aug 2018, 20:11

Okay, wow... ich habe es just for fun mal mit dem MEAN-Befehl probiert und siehe da, er funktioniert auch mit weniger als zwei ausgefüllten Variablen hervorragend. Trotzdem wüsste ich ja gern, wo in meiner Formel der Fehler lag...

Liebe Grüße

Nina
Ahnungslos_1
 
Beiträge: 10
Registriert: Mo 19. Feb 2018, 14:57
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Mittelwert für variierende Anzahl von Werten

Beitragvon ponderstibbons » Fr 17. Aug 2018, 09:26

Deine Formel muss zwangsläufig ein missing für Fälle ergeben, wo eine dort enthaltene Variable ein missing enthält.
3+4+5+MISSING+MISSING+MISSING bedeutet, dass ein Ergebnis nicht zu berechnen ist. MEAN ist demgegenüber eine
programmierte Funktion mit besonderen Eigenschaften, nicht einfach arithmetische Operationen.

Mit freundlichen Grüßen

PonderStibbons
ponderstibbons
 
Beiträge: 2478
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 1
Danke bekommen: 256 mal in 255 Posts

Re: Mittelwert für variierende Anzahl von Werten

Beitragvon Ahnungslos_1 » Fr 17. Aug 2018, 14:33

Vielen Dank für deine Antwort, PonderStibbons!

Also meinst du, es ist nicht auf irgendeine Art möglich, den Befehl zu geben, dass bei missing values die Berechnung einfach ohne die jeweiligen Variablen durchgeführt wird? Also im Falle einer selbst verfassten Formel und ohne Nutzung von MEAN oder dergleichen... denn gerade stehe ich wieder vor demselben Problem, nur dass sich meine neue Wunschformel nicht durch die angebotenen Sonderfunktionen umsetzen lässt, ohne viele neue Variablen dafür zu erstellen.

Viele Grüße

Nina
Ahnungslos_1
 
Beiträge: 10
Registriert: Mo 19. Feb 2018, 14:57
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Mittelwert für variierende Anzahl von Werten

Beitragvon ponderstibbons » Fr 17. Aug 2018, 14:42

Manchmal kann man in der Syntax durch RECODE die missing values von Variablen durch "0" ersetzen lassen (oder einen anderen, jeweils passenden Wert), die Berechnungen durchführen und mit RECODE wieder den Ausgangzustand herstellen (oder am Ende die neuen Variablen abspeichern, dann die Ausgangsdatei, ohne die Änderungen abzuspeichern, erneut aufrufen, dann Dateien zusammenführen).
ponderstibbons
 
Beiträge: 2478
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 1
Danke bekommen: 256 mal in 255 Posts

Re: Mittelwert für variierende Anzahl von Werten

Beitragvon Ahnungslos_1 » Fr 17. Aug 2018, 15:24

Genialer Hinweis, mit der Ersetzung der missing values durch 0 hat es endlich geklappt! Tausend Dank! :D
Ahnungslos_1
 
Beiträge: 10
Registriert: Mo 19. Feb 2018, 14:57
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu SPSS Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron