Mehrere dichotome Variablen in eine Neue V. umkodieren

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
umas
Beiträge: 9
Registriert: 25.05.2006, 21:15

Mehrere dichotome Variablen in eine Neue V. umkodieren

Beitrag von umas »

Hallo,

ich habe ein Problem:
in meinem Datensatz wurde eine Frage (Art der Wohnung) so codiert, dass die möglichen Antworten (Mietwohnung, Untermiete etc.) insgesamt 8 Unterfragen bilden (ein Kreuz = 1, keine Nennung =0, also dichotom).

Nun würde es mir die Arbeit sehr erleichtern, wenn ich aus diesen 8 Teilfragen eine Variable (dann mit den 8 Wertelabels, die vorher die Variablen waren) bilden könnte.

Kann mir jemand hierbei helfen (auch sehr gerne mit Sytax-Bausteinen) ?

Vielen Dank im Voraus!
PearsonsR
Beiträge: 35
Registriert: 27.01.2006, 13:31

Beitrag von PearsonsR »

Hallo Umas,
das ist egtl. recht einfach. Zunächst bildest du eine neue Variable (z.B. WOHNART):

Code: Alles auswählen

compute WOHNART = 0.
Dann musst du einfach nur noch definieren, welche Werte diese Variable annehmen soll (entsprechend deiner Einzelitems):

Code: Alles auswählen

if (VAR1=1) WOHNART = 1.
if (VAR2=1) WOHNART = 2.
if (VAR3=1) WOHNART = 3.
[usw.]
Dann empfiehlt es sich natürlich noch, Variable- und Value-Labels sowie die missings zu vergeben.

variable label WOHNART 'Art der Wohnung'.
value labels WOHNART 1'Einzimmerwohnung' 2'XXX' 3'XXX' [usw] 999'keine Angabe'.
missing values WOHNART (999).

ZU BEACHTEN ist dabei allerdings, dass von den 8 Items jeweils nur EINES angekreuzt sein darf, da sonst die Zurdnung der Werte nicht mehr eindeutig ist.

Grüße,
PearsonsR[/code]
umas
Beiträge: 9
Registriert: 25.05.2006, 21:15

.."leider" Mehrfachantworten

Beitrag von umas »

Hallo PearsonsR,

Vielen Dank für Deine Antwort.
Du hattest bereits den richtigen "Riecher": Es waren Mehrfachantworten (2 mögliche Nennungen). Daher stimmen die Häufigkeiten jetzt leider nicht mehr.

Bislang sieht die Sytax folgendermaßen aus:

Code: Alles auswählen

Compute f68_wohnart = 0.

if (f68_1 =1) f68_wohnart = 1.
if (f68_2 =1) f68_wohnart = 2.
if (f68_3 =1) f68_wohnart = 3.
if (f68_4 =1) f68_wohnart = 4.
if (f68_5 =1) f68_wohnart = 5.
if (f68_6 =1) f68_wohnart = 6.
if (f68_7 =1) f68_wohnart = 7.
if (f68_8 =1) f68_wohnart = 8.

compute f68_wohnart = 0.

variable label f68_wohnart 'Art der Wohnung'.
value labels f68_wohnart 1'Sozialwohnung' 2'Mietwohnung' 3'bei den Eltern' 
4'Untermiete' 5'im gemieteten Haus' 6'im eigenen Haus' 
7'Eigentumswohnung' 8'Wohngemeinschaft'.
bzw. mit 4 Kategorien:

Code: Alles auswählen

Compute f68_wohnart4kat = 0.

if (f68_1 =1) f68_wohnart4kat = 1.

if (f68_2 =1) f68_wohnart4kat = 2.
if (f68_4 =1) f68_wohnart4kat = 2.
if (f68_5 =1) f68_wohnart4kat = 2.

if (f68_6 =1) f68_wohnart4kat = 3.
if (f68_7 =1) f68_wohnart4kat = 3.
if (f68_3 =1) f68_wohnart4kat = 4.
if (f68_8 =1) f68_wohnart4kat = 4.

compute f68_wohnart4kat = 0.

variable label f68_wohnart4kat 'Art der Wohnung 4 Kategorien'.
value labels f68_wohnart4kat 1'Sozialwohnung' 2'Mieter' 3'Eigentümer' 4'Sonstiges' .
Die ursprünglichen 8 Kategorien (1:Sozialwohnung, 2:Mietwohnung,3:bei den Eltern, 4:Untermiete, 5:im gemieteten Haus, 6:im eigenen Haus, 7:Eigentumswohnung, 8:Wohngemeinschaft) sollen in 4 Kategorien umkodiert werden.
Das bedeutet widerum, dass einzelne Fälle definiert werden müssen. Hat ein Befragter z.B. "Sozialwohnung" und "Mietwohnung" angegeben, soll er in der Kategorie "Sozialwohnung" auftauchen.
Bei der Eingabe von "bei den Eltern" und "im eigenen Haus" soll er unter "Eigentum" kategorisiert werden etc..

Ist so etwas möglich? "and" und "or" ? oder "else if"? ...?

Für erneute Hilfe wäre ich sehr dankbar!

Beste Grüße
umas.
guido
Moderator
Beiträge: 304
Registriert: 17.01.2006, 19:20

Beitrag von guido »

Genau, mit "AND" klappt das.
Bei der Eingabe von "bei den Eltern" und "im eigenen Haus" soll er unter "Eigentum" kategorisiert werden etc..

Code: Alles auswählen

if (f68_3 =1) AND (f68_6=1) f68_wohnart4kat = 1. 
Evtl. muss um die zwei Bedingungen noch ne Klammer drumherum, müsstest Du mal ausprobieren.

Die zwei gegebenen Antwortenm gehen dann nur als ein 1 Fall in die Häufigkeiten ein.

BTW: Bitte benutzt für Syntax die "Code"-Tags. Das vereinfacht das Lesen um einiges. Danke!
umas
Beiträge: 9
Registriert: 25.05.2006, 21:15

merci

Beitrag von umas »

Hallo nochmals,

Danke für die Unterstützung!

Viele Grüße
umas.
Noelle
Beiträge: 2
Registriert: 13.06.2006, 16:47

gleiches Problem, nur die lösung...

Beitrag von Noelle »

Hallo!

Ich bearbeite gerade ein ähnliches Problem. Die Lösung hier hat mich schon weiter gebracht, aber leider noch nicht zum Ziel. Wenn ich

Code: Alles auswählen

Compute ForschJN = 0. 
if (forsch1 =1) ForschJN= 1. 
if (forsch2 =2) ForschJN= 1. 
if (forsch3 =3) ForschJN= 2. 
if (forsch4 =4) ForschJN= 2. 
if (forsch5 =5) ForschJN= 2. 
compute ForschJN= 0. 
variable label ForschJN 'Forschend Tätig'. 
value labels ForschJN 1'nicht forschend' 2'aktiv forschend'. 
Execute.
ausführe, werden die Werte, die ich oben angegeben habe nicht zugewiesen.

bin nicht wirklich bewandert in syntax :-/
annaj
Beiträge: 18
Registriert: 09.01.2008, 12:46

Frage zur Verknüpfung der Bedingungen

Beitrag von annaj »

Hallo alle zusammen!

Ich möchte auch mehrere Dummies in eine Variable umkodieren. Bisher hat das mit den Syntax-Befehlen (nach dem Vorbild eurer Beiträge) ganz gut geklappt. Nur dir Verknüpfung mit AND gelingt mir nicht. Ich habe in verschiedenen Variationen versucht Klammern zu setzen, aber es passiert nichts, wenn ich auf "ausführen" drücke.

Kann mir jemand sagen, wie ich das richtig mache?

Vielen Dank schonmal!

Anna

P.S. Und das ist meine Eingabe im Syntax-Editor:

Code: Alles auswählen

compute BERUF = 0.
if (schüler=1) BERUF = 1.
if (student=1) BERUF = 2.
[if (student=1) AND (berufstä=1)] BERUF = 3.
if (auszubil=1) BERUF = 4.
if (berufstä=1) BERUF = 5.
[if (berufstä=1) AND (arbeitss=1)] BERUF = 6. 
if (arbeitss=1) BERUF = 7.
if (sonstige=1) BERUF = 8.
variable label BERUF 'Beruflicher Status'. 
value labels BERUF 1'Schüler/in' 2'Student/in' 3'Student und berufstätig'
4'Auszubildende/r' 5'berufstätig' 6'berufstätig und arbeitssuchend'
7'arbeitssuchend' 8'Sonstiges'.
Volker
Beiträge: 67
Registriert: 17.01.2007, 18:15

Beitrag von Volker »

Hallo Anna,

deine Syntax ist im Prinzip in Ordnung. Bei verknüpften Bedingungen brauchst du aber nur eine Klammer. In diese Klammer schreibst du alle Bedingen.

Schreibe deinen dritten If-Befehl folgendermaßen um:
if (student=1 AND berufstä=1) BERUF = 3.

Der sechste If-Befehl müsste entsprechend umformuliert werden:
if (berufstä=1 AND arbeitss=1) BERUF = 6.

exe.

Nach den If-Befehlen füge noch "exe" ein. dann werden die If-Transformationen auch ausgeführt.

So müsste es klappen.

Gruß
Volker
annaj
Beiträge: 18
Registriert: 09.01.2008, 12:46

Beitrag von annaj »

Ah, ok. Super! Vielen Dank! Gruß, Anna
annaj
Beiträge: 18
Registriert: 09.01.2008, 12:46

Beitrag von annaj »

Hallo nochmal!

Sorry, aber irgendwie funktioniert das nicht. Ich habe alles nochmal von vorne durchgeführt mit den andersgesetzten Klammern und trotzdem werden bei mir Probanden, die Student und berufstätig sind als 5 anstatt als 3 kategorisiert. Versteh nicht was ich falsch gemacht habe.

Gruß, Anna
Volker
Beiträge: 67
Registriert: 17.01.2007, 18:15

Beitrag von Volker »

Hallo Anna,

das liegt daran, dass die Studenten, die beruftätig sind in zwei If-Befehlen die Bedingung erfüllen. Die If-Befehle werden in der Reihenfolge abgearbeitet, in der du sie in deiner Syntax auflistest. In deinem Fall passiert folgendes:

SPSS sucht im dritten If-Befehl nach der Merkmalskombination "Student" und "berufstätig". Wenn diese Kombination erfüllt ist, wird der Wert 3 in der Variable Beruf gesetzt.
Danach sucht SPSS im fünften If-Befehl nach dem Merkmal "berufstätig" und setzt den Wert 5.

Da berufstätige Studenten in beiden If-Befehlen die Bedingungen erfüllen, erhalten Sie nach dem dritten If-Befehl den Wert 3, beim fünften If-Befehl wird dieser Wert aber durch den Wert 5 ersetzt.

Bei If-Befehlen, die sich in den Bedingungen nicht ausschließen, ist die Reihenfolge wichtig. Tausch doch mal die Anordnung der beiden If-Befehle. Lass zuerst nach "berufstätig" suchen, danach nach "Student" und beruftsätig". Dann müsste es klappen. In diesem Fall hast du aber weniger Berufstätige.

In den If-Befehlen 6 (berufstätig und arbeitssuchend) und 7 (arbeitssuchend) müsstest du das gleiche Problem haben. Tausche auch hier die Reihenfolge.


Gruß
Volker
annaj
Beiträge: 18
Registriert: 09.01.2008, 12:46

Beitrag von annaj »

Lieber Volker!

Herzlichen Dank! Jetzt hats geklappt. Du hast mir sehr geholfen.

Tschüß, Anna :D
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