Hi Annalisa,
ich beginne mit der Antwort einmal von hinten, weil der zweite Teil deiner Frage sich sehr schnell klären lässt: Du hast korrekt festgestellt, dass die Antwortmöglichkeiten auf die Frage zum Ausbildungstyp in der ALWA-Studie anders zusammengestellt waren, als in der NEPS-Erwachsenenbefragung. Teilepisoden, in denen dennoch beide Variablen (ts15201
und ts15201_v1
) gültig befüllt sind, sind ausschließlich harmonisierte Episoden, die ja den letztbekannten Status einer jeden Variable wiedergeben.
assert spgen==1 if (ts15201!=-54 & ts15201_v1!=-54)
Soll heißen: Harmonisierte zusammengefügte Episoden, die sich über ALWA- und NEPS-Befragungszeitpunkte erstrecken, enthalten beide Kodierungen der Information, weil sie wiederholt erhoben wurden – in beiden Varianten.
Jetzt zur Ausgangsfrage:
Für die ts15201 finde ich leider keine harmonisierte Version. War es nicht möglich, diese zu erstellen (vielleicht aus ähnlichen Gründen wie im Forenbeitrag "Harmonisierte Schulvariable in SC6")?
Harmonisierte Variablen erzeugen wir immer dann, wenn eine „einfache“ Umkodierung nicht verlustfrei die alte und die neue Kodierung zusammenführen kann. Das ist für die Information des Ausbildungsabschlusses (ts15219
) der Fall, weil auf der einen Seite in ALWA Abschlüsse an Berufsakademien explizit genannt werden konnten, und auf der anderen Seite in den NEPS-Befragungen Universitätsabschlüsse detaillierter erfasst werden. Die harmonisierte Variable ts15219_ha enthält sozusagen den größten gemeinsamen Teiler der Kategorien-Systeme beider Befragungen.
Für die Frage zum Ausbildungstyp (ts15201
) ist das nicht notwendig. Die Abfrage in NEPS-Befragungen ist zwar feingliedriger, aber eindeutig und verlustfrei in der ALWA-Kodierung abbildbar. Eine integrierte Variable lässt sich sehr schnell, beispielsweise mit folgender Stata-Syntax, bilden:
* create empty intergrated variable
generate ts15201_integrated=.a
* copy variable and value label
label values ts15201_integrated `: value label ts15201_v1'
label variable ts15201_integrated `"`: variable label ts15201' (including information form ts16201_v1)"'
* insert recoded values from ts15201
replace ts15201_integrated=ts15201 if (inlist(ts15201,-98,-97,-55,-29))
replace ts15201_integrated=1 if (inlist(ts15201,1))
replace ts15201_integrated=2 if (inlist(ts15201,2,3))
replace ts15201_integrated=3 if (inlist(ts15201,4))
replace ts15201_integrated=4 if (inlist(ts15201,5))
replace ts15201_integrated=5 if (inlist(ts15201,6,7))
replace ts15201_integrated=6 if (inlist(ts15201,8,9))
replace ts15201_integrated=7 if (inlist(ts15201,10))
replace ts15201_integrated=8 if (inlist(ts15201,15))
replace ts15201_integrated=9 if (inlist(ts15201,16))
replace ts15201_integrated=10 if (inlist(ts15201,11))
replace ts15201_integrated=11 if (inlist(ts15201,12))
replace ts15201_integrated=12 if (inlist(ts15201,13))
replace ts15201_integrated=13 if (inlist(ts15201,14))
replace ts15201_integrated=14 if (inlist(ts15201,17))
* insert copied values from ts15201_v1
replace ts15201_integrated=ts15201_v1 if ts15201_integrated==.a
* add value labels not present for ts15201_v1
foreach value in -97 -55 -29 {
label define `: value label ts15201_integrated' `value' `"`: label (ts15201) `value' , strict'"' , add
}
Ich hoffe, das hilft dir entsprechend weiter; falls nicht, melde dich gerne noch einmal!
Beste Grüße
Bela