Zukünftiger Erfolg von erwerbstätigen Studierenden

Liebes NEPS-Team,

Ich arbeite aktuell mit dem pTargetCawi Datensatz und bin aktuell ein wenig ratlos, wie ich am besten zu meinen Ergebnissen gelange.
Mich interessiert der Einfluss der Erwerbstätigkeit von Studierenden auf deren zukünftigen Berufserfolg.
Ich weiß jedoch nicht, wie ich herausfinden kann, ob jemand während des Studiums erwerbstätig war und wie ich dies dann auf die spätere Berufskarriere beziehe.
Wenn ich mir tg51100 „Erwerbstätig“ und tg51000 „studiert aktuell“ anschaue, sehe ich ja, welche Personen Studenten sind und erwerbstätig sind.
Ich bräuchte dann jedoch eine zeitliche Abgrenzung, in die Zeit, in der die Studierenden fertig mit dem Studium sind und bereits arbeiten, in welcher ich mir dann beispielsweise den Nettoverdienst an (tg76030) der Befragten anschaue.
Könnten Sie mir eventuell einen Rat geben, wie ich dies am besten bewerkstellige?

Liebe Grüße aus Frankfurt,

Hallo Jessica!

Wenn du die zeitlichen Bezüge von Studium und Erwerbstätigkeit untersuchen willst, wirst du nicht um eine Aufbereitung der Episodendatensätze herum kommen. Für die grundlegenden Studien-Stati steht StudyStates bereit, des hauptsächlich aus einer Umstrukturierung und Abstraktion von spVocTrain entstanden ist.
Ès gibt keine adhoc-Antwort auf dein Problem, das ist sehr viel Syntax und ohne dass ich das Ganze selbst umsetze, kann ich dir nur Hinweise geben.

Ein Beispiel wie man Daten aus spEmp und pTargetCAWI zusammenbringt, habe ich angefügt. Der Episodendatensatz spEmp wird hier durch ein Episodensplitting oder auch Monatssplitting so expandiert, dass für jeden Monat einer Erwerbstätigkeit eine Zeile vorliegt - dann kann man eine Variable intdate bilden. Diese Variable kann dann, sofern der Befragte auch in diesem Zeitraum interviewt wurde, mit dem echten Interviewdatum matchen/mergen. Weil es aber noch parallele Erwebstätigkeiten gibt, muss man den Datensatz noch nach wide reshapen um die Daten in die Struktur des pTargetCAWIs oder CATIs zu bringen.
Wenn man noch im Anschluss StudyStates lädt und tx24022 in splink umbenennt und sich damit aus spVocTrain oder Biography das Start- und Enddatum der Studienepisoden holt, kann man die Daten abgeleichen.


use "SC5_CohortProfile_D_16-0-0.dta", clear
label drop `: value label wave'
keep ID_t wave tx8600?
nepsmiss

// Interviewdatum generieren
generate intdate = ym(tx8600y,tx8600m)
drop if missing(tx8600y,tx8600m)
format %tm intdate

// Es gibt ca. 630 personen, die Interviews der Welle 1 und 2 in umgekehrter Reihenfolge erhalten haben, manche auch im selben Monat, aber in anderen Tagen 
duplicates tag ID_t intdate, generate(dup_intdate)
// Duplikate im Interviewmonat zu vermeiden, wird das spätere Datum der Interview im selben Monat um 1 erhöht
bysort ID_t intdate (tx8600d): replace intdate = intdate + 1 if _n==_N & dup_intdate > 0
isid ID_t intdate  // jetzt unique

keep ID_t wave intdate
tempfile intdates_CP
save "`intdates_CP'", replace


use "SC5_spEmp_D_16-0-0.dta", clear
drop if disagint == 2
keep if subspell == 0
keep ID_t splink subspell ts2311m ts2311y ts2312m ts2312y ts2341?

// Nettogehalt aus einzelnen Variablen generieren: ACHTUNG: DIE EURO-WERTE WURDEN NACH KEINEN WISSENSCHAFTLICHEN KRITIEREN GEWÄHLT UND SIND DAHER RECHT WILLKÜRLICH
generate netto = ts23410
 replace netto = 499 if ts23412==1 & (missing(ts23410) | ts23410 < 0)
 replace netto = 750 if ts23412==2 & (missing(ts23410) | ts23410 < 0)
 replace netto = 1250 if ts23412==3 & (missing(ts23410) | ts23410 < 0)
 replace netto = 1250 if ts23411==1 & (missing(ts23410) | ts23410 < 0)
 replace netto = 2250 if ts23411==2 & (missing(ts23410) | ts23410 < 0)
 replace netto = 3000 if ts23411==3 & (missing(ts23410) | ts23410 < 0)
 replace netto = 1750 if ts23413==1 & (missing(ts23410) | ts23410 < 0)
 replace netto = 2250 if ts23413==2 & (missing(ts23410) | ts23410 < 0)
 replace netto = 2750 if ts23413==3 & (missing(ts23410) | ts23410 < 0)
 replace netto = 3500 if ts23414==1 & (missing(ts23410) | ts23410 < 0)
 replace netto = 4500 if ts23414==2 & (missing(ts23410) | ts23410 < 0)
 replace netto = 5000 if ts23414==3 & (missing(ts23410) | ts23410 < 0)

 
//Quartalsangaben im Datum auf Monate umkodieren
replace ts2311m = ts2311m - 20 if ts2311m > 12
replace ts2312m = ts2312m - 20 if ts2312m > 12

// Start und Enddatum der Episoden aus Monats- und Jahresdatum generieren 
generate start = ym(ts2311y,ts2311m)
generate end   = ym(ts2312y,ts2312m)
drop if missing(start) | missing(end) //Missings droppen
format %tm start end // Datum lesbar machen

// Dauer einer Episode ermitteln um Datenzeilen zu multiplizieren
generate duration = end - start + 1
expand duration

/* Datum generieren, dass zwischen Start und Ende des Ereignisses liegt. Wenn in diesem Zeitraum ein Interview geführt wurde, kann durch mergen/matchen von CohortProfile und Episodendatensatz die Welle hinzugefügt werden, deshalb wird die hier generierte Variable "intdate" genannt
*/
bysort ID_t splink: generate line = _n
generate intdate = start + line - 1
format %tm intdate
assert intdate <= end & intdate >= start
keep ID_t splink start end netto intdate
tempfile spEmp_startend
save "`spEmp_startend'", replace


// Datensätze über Interviewdatum mergen:
use "`intdates_CP'", clear
merge 1:m ID_t intdate using "`spEmp_startend'", keep(matched) nogenerate

/* Es gibt parallele Erwerbstätigkeiten, d.h. mehrere Erwerbsepisoden pro Welle
wenn es nur eine Zeile pro Welle pro Person geben sollten, muss das Datensatz reshaped werden und die Episodeninformationen, die innerhalb einer Welle stattfinden, werden wide abgelegt*/

bysort ID_t wave (start end splink): generate spell_nr = _n
foreach var of varlist splink netto start end {
	rename `var' `var'_w
}
reshape wide *_w, i(ID_t wave) j(spell_nr)

merge 1:1 ID_t wave using "SC5_pTargetCAWI_D_16-0-0.dta", keep(using matched)

Ja, das alles ist sehr mühsam - Spaß ist was anderes, aber es sind eben komplexe Daten und die erforden komplexe Maßnahmen um sie zu verwenden, sorry!

Viiel Glück
Dietmar