SC4: erreichter Schulabschluss - pTargetCATI vs. spSchool

Ich möchte den erreichten Schulabschluss im Jahr 2011 für die Teilnehmenden der SC4 identifizieren. Ich hatte die entsprechende Variable zunächst über Biography gemerged mit spSchool aus ts11209 generiert (identifiziert über das Enddatum des Schulspells im Jahr 2011). Als mir dieselbe Variable im pTargetCATI ins Auge fiel, habe ich eigentlich nur als Test die Variable erneut generiert. Ich erhalte in gut 20% der Fälle unterschiedliche Werte. Beim größten Teil davon ist eine der Variablen missing, aber in etlichen Fällen unterschiedliche Abschlüsse. Die Variablen wurden auf dieselbe Art generiert (Definition des Zeitraums etc.)

Gibt es dafür eine Erklärung? Oder eine Empfehlung welcher Datensatz (die Variable ist an sich ja dieselbe) verlässlicher ist?

Hallo Herr/Frau Hillerich!

Sorry, dass es mit der Antwort so lange gedauert hat. Die Information aus dem pTargetCATI und spSchool stammen nicht zwingenderweise aus der gleichen Befragung. Sofern eine Befragung schon länger zurückliegt, stellen sich in einer Interviewsituation womöglich Erinnerungsfehler ein, die umso stärker zum Tragen kommen, je länger ein Ereignis zurückliegt. Das ist nur eine Annahme, die ich empirisch nicht belegen kann.

Ich würde.dieser Annahme folgend. die letzte Beobachtung als reliabler erachten. Zugleich würde ich die Missings mit den gültien Werten der jeweils anderen Datenquelle auffüllen.

Ich kommen dann auf ca. 10% unterschiedliche Angaben bzgl. des Schulabschlusses im Jahr 2011.

Anbei habe ich noch etwas Syntax gebastelt. 

Ein Problem gilt es dabei jedoch zu beachten: Es ist sehr schwierig bis unmöglich die beiden Datenquellen zu konsolidieren. Falschangaben in einem Datensatz können also nicht einfach durch einfache Plausibilitätschecks mit Hilfe der anderen Datenquelle beseitigt werden. Dazu müsste man auch die anderen Abschlussjahrgänge betrachten. Das ist jedoch mit viel Aufwand verbunden - die Rendite ist dabei aber unklar. Das sollten Sie bei Ihrem Paper erwähnen.
 

Ich hoffe, wir konnten Ihnen etwas weiterhelfen.

Viele Grüße.

Dietmar Angerer

// Dateipfad als local
local datapath <PATH/TO/SUF_DATA>

// benötigte Variablen aus spSchool laden
use ID_t splink subspell ts11209 wave using  ///
    "`datapath'/SC4_spSchool_D_9-1-0.dta", clear
keep if subspell==0 // subspells löschen
rename wave wave_sp // waveindikator umbenenen
drop subspell

merge 1:1 ID_t splink using /// merge mit Biography
    "`datapath'/SC4_Biography_D_9-1-0.dta", ///
    keep(match) keepusing(splast endy endm) nogen  // nur matches behalten
keep if inrange(ts11209,1,7) // nur Personen mit Abschlüssen behalten
keep if endy==2011 // nur Personen mit Spellende in 2011 behalten
assert splast==2  // überprüfen, ob nur abgeschlossene Ereignisse vorhanden sind

// Person hat im Jahr 2011 mehrere Abschlüsse erreicht
// Duplikate löschen, wenn Unterschiede nicht in ID_t endy ts11209 splast
duplicates drop ID_t endy ts11209 splast, force
capture: isid ID_t  // checken, ob ID_t eine unique ID ist
if _rc==459 di as error "ID_t is not a unique identifier" // >> nein

// 3 Personen haben VERSCHIEDENE Abschlüsse in 2011 erlangt
duplicates report ID_t  


// meine Annahme: letzten Abschluss behalten
tempvar last_month
bysort ID_t: egen `last_month'=max(endm)
keep if `last_month'==endm
drop `last_month'

// checken, ob ID_t nun unique:
isid ID_t // >> keine Fehlermeldung, ist unique

preserve // spSchool-Datensatz temporär speichern um später wieder zu verwenden
    use ID_t tf11209 tf1112y wave using "`datapath'/SC4_pTargetCATI_D_9-1-0.dta", clear
    rename wave wave_cati
    keep if inrange(tf11209,1,8) // nur Personen mit Abschlüssen behalten
    keep if tf1112y==2011  // nur Personen mit Abschluss in 2011 behalten
    isid ID_t
    tempfile abschlCATI  // temporären CATI-Datensatz definieren
    save "`abschlCATI'", replace // temporären CATI-Datensatz speichern
restore  // wieder temporären und bearbeiteten spSchool-Datensatz laden

merge 1:1 ID_t using "`abschlCATI'", nogenerate // temp. CATI-Datensatz anspielen

tab tf11209 ts11209  if tf1112y==endy, mis
count if tf11209==ts11209 & tf1112y==endy // 1027 Personen mit gleichem Abschluss
count if tf11209!=ts11209 & tf1112y==endy // 128 Personen mit unterschiedl. Abschluss
format %30.0g tf11209 ts11209

// Harmonisierte Schulabschluss-Variable
    gen absch_ha=ts11209 if ((wave_sp > wave_cati) & !missing(ts11209) & !missing(wave_sp))
replace absch_ha=tf11209 if ((wave_cati > wave_sp) & !missing(tf11209) & !missing(wave_cati))
replace absch_ha=tf11209 if (!missing(tf11209) & missing(ts11209))
replace absch_ha=ts11209 if (!missing(ts11209) & missing(tf11209))

label variable absch_ha `"`: variable label ts11209' (harmonized)"'
label values absch_ha `: value label ts11209'

 

Herzlichen Dank - ja, das hilft auf jeden Fall weiter!

Annette Hillerich