SC5: Variable tx29000 [Alter zum Interviewzeitpunkt (Jahre)]

Liebes NEPS-Forum,

ich beschäftige mich derzeit mit den SC5-Daten und habe eine Frage zum Alter der Studierenden bei Studienbeginn. Laut Datenfile SC5_Basics_D_18-0-0.dta beträgt der Mittelwert des Alters, gemessen durch die Variable tx29000 „Alter zum Interviewzeitpunkt (Jahre)“, 28,9 Jahre.

Allerdings ergibt sich ein anderer Mittelwert, wenn ich das Alter selbst berechne: Unter Verwendung der Variablen tx8600y und tx8600m aus dem ‚CohortProfile‘ sowie t70000y und t70000m aus den ‚Basics‘, erhalte ich einen Durchschnitt von 21,6 Jahren zum Zeitpunkt der ersten Welle.

Könnten Sie mir bitte erläutern, warum es zu einer solchen Diskrepanz zwischen dem Mittelwert der vorberechneten Variable tx29000 und meiner Berechnung kommt?

Vielen Dank im Voraus für Ihre Unterstützung!

Hallo Sabine!

Der Basics-Datensatz sollte nicht für Analysen verwendet werden - er werden nur die letztgültigen Werte in diesen Datensatz geschrieben - man kann aber nicht sagen, aus welcher Welle die Angaben stammen.

Wenn man wissen will, wann das Studium begonnen hat, kann man den StudyStates-Datensatz öffnen und sich eine dichotome Variable bilden, die angibt, ob die Zielperson in dieser Welle studiert hat. Dann kann man den Datensatz so sortieren, dass man die Welle des ersten Studienbeginns erhält. Wenn man einfach nur das Datum der ersten Welle heranzieht, ist das falsch, da manche Befragte dann doch nicht in der ersten Welle studieren.

Jetzt kann man noch mit dem Interviewdatum aus CohortProfile und dem Geburtsdatum aus pTargetCATI das Alter selbst konstruieren und mit der Variable tx29000 vergleichen.

Wenn man jetzt selektiert, ob man den Mittelwert des Alters für die letzte Welle oder für die Welle des Studienbeginns betrachten will, ändert sich bei tx29000 nichts. Bei der selbst konstruierten Variable sinkt das Alter von 27,8 Jahre auf 22,1 Jahre.

Kurzgefasst: das was im Basics steht, ist zur groben Orientierung gut, aber es können keine konkreten Zeitbezüge hergestellt werden.

Viele Grüße
Dietmar

use "SC5_StudyStates_D_18-0-0.dta", clear
keep if tx24000 == 1
keep ID_t wave tx24001 tx24100 tx24101
generate study_yesno = 0 if inlist(tx24100,1,2) & !inlist(tx24101,2,3,4)
replace  study_yesno = 0 if (inlist(tx24100,-54,-20) & tx24101 ==1 )

replace  study_yesno = 1 if (tx24100 == 0 & tx24101 != 1)
replace  study_yesno = 1 if (inlist(tx24100,-54,-20) & inlist(tx24101,2,3,4,.))
replace study_yesno = -54 if tx24101 == -54 & tx24100 == -54
replace study_yesno = -55 if missing(study_yesno)

label define yesno 0"yes" 1"no" -55"nicht ermittelbar" -54"designbedingt fehlend"
label values study_yesno yesno
nepsmiss study_yesno
keep ID_t wave tx24001 study_yesno

bysort ID_t (study_yesno tx24001 ): egen min_wave = min(tx24001) if study_yesno == 0
keep if min_wave == tx24001
isid ID_t
rename wave wave_firststudy
keep ID_t wave_firststudy
tempfile states
save "`states'", replace

***********************************************

use "SC5_Basics_D_18-0-0.dta", clear
nepsmiss tx29000
sum tx29000
generate birthdate_basics = ym(t70000y,t70000m)
keep if !missing(birthdate_basics)
format birthdate_basics %tm
keep ID_t tx29000 birthdate_basics
tempfile basics
save "`basics'", replace

***********************************************

use "SC5_CohortProfile_D_18-0-0.dta", clear
keep if tx80521 == 1
generate intdate_cp = ym(tx8600y,tx8600m)
format intdate_cp %tm
keep ID_t wave intdate_cp
keep if !missing(intdate_cp)
tempfile cp
save "`cp'", replace



***********************************************

use "SC5_pTargetCATI_D_18-0-0.dta", clear
replace t70000m = 7 if missing(t70000m)
generate birthdate_cati = ym(t70000y,t70000m)
format birthdate_cati %tm
keep ID_t wave birthdate_cati

tempfile cati
save "`cati'", replace

***********************************************

use "`cp'", clear
merge m:1 ID_t using "`states'", keep(matched) nogenerate
merge 1:1 ID_t wave using "`cati'", keep(matched) nogenerate
merge m:1 ID_t using "`basics'", gen(merge_caticp_basics)

generate age_cpcati =   (intdate_cp - birthdate_cati) / 12

bysort ID_t: egen wave_max = max(wave)

sum age* tx29000 if wave == wave_max
sum age* tx29000 if wave == wave_firststudy



. sum age* tx29000 if wave == wave_max
    Variable |        Obs        Mean    Std. dev.       Min        Max
-------------+---------------------------------------------------------
  age_cpcati |     17,099    27.78249    5.413682   17.41667      99.25
     tx29000 |     17,909    28.93903    5.434575      18.17      99.75

. sum age* tx29000 if wave == wave_firststudy
    Variable |        Obs        Mean    Std. dev.       Min        Max
-------------+---------------------------------------------------------
  age_cpcati |     16,331    22.05858    3.851797   13.83333         65
     tx29000 |     17,137    28.93085    5.458723      18.17      99.75


Hallo Dietmar,

ganz lieben Dank für die ausführliche Antwort.
Hilft mir super weiter.

Viele Grüße
Sabine