Variable erstellen Mehrfachnennung

Fragen zu Stata Syntax und Do-Files.

Variable erstellen Mehrfachnennung

Beitragvon LeaCarlotta13 » Do 7. Jul 2022, 21:13

Hallo,

ich möchte gerne eine Variable erstellen, die den Besuch einer berusbildenden Ausbildung/Studium darstellt. Dazu habe ich in meinem Datensatz 6 Variablen:

lb0229 Ausland: im Betrieb angelernt
lb0230 Ausland: längere Ausbildung im Betrieb
lb0231 Ausland: berufsbildende Schule
lm0071i01 Ausland: Hochschule praktische Ausrichtung
lm0071i02 Ausland: Hochschule theoretische Ausrichtung
lm0071i03 Ausland: Promotion

Die Befragten können mehrere Angaben machen.


Meine Idee war:

gen furth_school1 =.
replace furth_school1 = 0 if lb0228_w2018 == 2 //keine berufsbildende Ausbildung gemacht
replace furth_school1 = 1 if lb0228_w2018 == 1 & (lb0229_w2018 == 1 | lb0231_w2018 == 1 | lb0230_w2018 == 1)
replace furth_school1 = 2 if lb0228_w2018 == 1 & (lm0071i02_w2018 ==1 | lm0071i01_w2018 == 1)
replace furth_school1 = 3 if lm0071i03_w2018 ==1
label var furth_school1 "Abschluss "
lab define furth_school1 0 "keine berufsbildende Ausbildung/Studium" 1 "Lehre/Ausbildung" 2 "Hochschule" 3 "Promotion"
label value furth_school1 furth_school1
tab furth_school1


Allerdings sind die Fallzahlen dann sehr viel geringer. Bei Promotion z.B. 3

Wenn man die Zahlen über tab ausgeben lässt:


lb0229 Ausland: im Betrieb angelernt //JA:13; trifft nicht zu: 2,093
lb0230 Ausland: längere Ausbildung im Betrieb //JA:45; trifft nicht zu: 2,061
lb0231 Ausland: berufsbildende Schule //JA:43; trifft nicht zu:2,063
lm0071i01 Ausland: Hochschule praktische Ausrichtung// JA: 45; trift nicht zu: 466
lm0071i02 Ausland: Hochschule theoretische Ausrichtung //JA:3; trifft nicht zu:508
lm0071i03 Ausland: Promotion //JA:17; trifft nicht zu:494


Wie gehe ich in diesem Fall vor? Wie behandle ich Mehrfachnennungen?
Oder stimmt mein Umgang mit "Oder" im Befehl nicht?


Ich dachte, ich habe meinen Befehl so aufgebaut, dass ich sage:

die Var nimmt den Wert 1 an, wenn die Person eine berufsbildende Ausbildung gemacht hat & entweder im Betrieb angelernt wurde oder eine längere Ausbildung gemacht hat oder eine berufsbildende SChule besucht hat. DAs heißt doch, dass die einzelnen Vars jeweils den Wert 1 annehmen können. Aber eben nicht alle drei Var gleichzeit den Wert 1 annehmen.

DAnke für eure Hilfe!
LG Lea
LeaCarlotta13
 
Beiträge: 10
Registriert: Mo 25. Apr 2022, 11:48
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable erstellen Mehrfachnennung

Beitragvon Staxa » Fr 8. Jul 2022, 09:41

Genau, im Prinzip passt das. Warum sind die Fallzahlen so gering? Wie ist die Verteilung der Ursprungsvariable, etwa Promotion? Wenn dort eben sehr wenige Fälle sind die 1 sagen, kann das natürlich sein. Am besten schaust du dir das mit Kreuztabelle an, also etwa

Code: Alles auswählen
tab lm0071i03 furth_school1, miss


Offenbar schränkst du auch das Jahr ein mit der anderen Variable. Das kann natürlich viele Fälle entfernen.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 680
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable erstellen Mehrfachnennung

Beitragvon LeaCarlotta13 » Fr 8. Jul 2022, 11:32

Danke! Für die Promotion bzw. Hochschule stimmen die Zahlen und ich hab meinen Fehler gefunden.
Die Zahlen zur Ausbildung scheinen allerdings noch nicht zu passen und ich komm auch nicht wirklich drauf, warum. Ich habe für alle Varianten also alle Ausbildungsvars und Hochschulvars kreuztabellen erstellt.

Lb0229: insg. 13 Fälle
Lb0231: insg: 43 Fälle, davon sind 7 auch für lb0230 mit ja
Lb0230: insg 45 Fälle, und wie oben 7 für lb0232

In meiner furth_school variable sollen es 90 Fälle sein die entweder die eine oder andere Ausbildung gemacht haben (oder eben zwei davon).

Wenn ich die Fälle zusammen zähle, bei denen eine Person jeweils ja angegeben hat, müssten es: 43 (lb0231) + 45 (lb0230) + 13 (lb0229) = 101 Fälle sein.
Addiert man die Fälle, die doppelt vorkommen, also die sowohl in den variablen lb0230 + lb0231 oder lb0702 +lb0229 oder lb702+ lb0231 vorkommen, sind das 11 Fälle.
Kann das sein, dass ich meinen Befehl dahingehend anpassen muss? Sind meine doppelten Fälle nur in die hochschulausprägung geflossen?
LeaCarlotta13
 
Beiträge: 10
Registriert: Mo 25. Apr 2022, 11:48
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable erstellen Mehrfachnennung

Beitragvon LeaCarlotta13 » Fr 8. Jul 2022, 11:48

Kreuztabelle_alle Ausb.PNG
Kreuztabelle aller Ausbildungsvariablen
Kreuztabelle_alle Ausb.PNG (23.32 KiB) 1649-mal betrachtet
Ich hab noch mal versucht einen Screenshot anzuhängen


Da wird deutlich, dass die Ausprägungen, die bei der Ursprungsvariable lb0231/230/229 den Wert -2 also trifft nicht zu annehmen in meiner Variable teil der Lehre/Ausbildung-KAtegorie sind. Es müssten aber eigentlich ja nur die Ausprägungen einfließen, die bei der Ursprungsvariable lb0231/230/229 den Wert 1 annehmen: das sind dann:
43+45+13 = 101


Ich hab daher den Befehl ergänzt um die Missings:

en furth_school2 =.
replace furth_school2 =. if (lb0229_w2018 == -2 | lb0231_w2018 == -2 |lb0230_w2018 == -2 |lm0071i01_w2018 == -2| lm0071i02_w2018 == -2 | lm0071i03_w2018 == -2 | lb0229_w2018 == -5 | lb0231_w2018 == -5 |lb0230_w2018 == -5 |lm0071i01_w2018 == -5| lm0071i02_w2018 == -5| lm0071i03_w2018 == -5 )


replace furth_school2 = 1 if (lb0229_w2018 == 1 | lb0231_w2018 == 1 | lb0230_w2018 == 1)

replace furth_school2 = 2 if lm0071i02_w2018 ==1 | lm0071i01_w2018 == 1

replace furth_school2 = 3 if lm0071i03_w2018 ==1


label var furth_school2 "Abschluss "
lab define furth_school2 1 "Lehre/Ausbildung" 2 "Hochschule" 3 "Promotion"
label value furth_school2 furth_school2
tab furth_school2

Ist das "Oder" falsch?
LeaCarlotta13
 
Beiträge: 10
Registriert: Mo 25. Apr 2022, 11:48
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable erstellen Mehrfachnennung

Beitragvon Staxa » Fr 8. Jul 2022, 12:12

Das ist schon sehr unübersichtlich. Warum definierst du die negativen Zahlen nicht am Anfang als missings, also etwa

Code: Alles auswählen
replace VAR = . if VAR < 0


Das oder ist dann falsch, also die erste Zeile. Ich würde eher so argumentieren, dass die neue Variable dann missing sein sollte, wenn alle Ursprungsvariablen gleichzeitig missing sind. Also und statt oder. Aber das ist auch eine Definitionssache wie man mit missings umgehen möchte.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 680
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Stata Syntax

Wer ist online?

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

cron