Merge von Biographiedaten mit CohortProfile

Liebes NEPS Forum,

ich versuche die Variable tx80234 des Datensatzes CohortProfile an mein Masterfile "Biography" zu mergen. Ich möchte wissen, in welcher Schulepisode die Befragten sich in welcher Klassenstufe befinden und möchte hierzu u.a. auf die Variable aus CohortProfile zurückgreifen. Leider scheint mir ein Fehler beim mergen zu unterlaufen, da ich ziemlich viele Fälle verliere. 

neps: use Biography  // Biography laden

nepsmiss _all

* Check and adjust data variables
fre starty endy startm endm
egen missy = rowmiss(starty endy)
egen missm = rowmiss(startm endm)
fre missy

* Drop spells with missing date information
drop if missy>0 , missm>0
drop missy missm

*Generate a new starting and ending variable (time format: yearmonth)
gen start = ym(starty,startm)
gen end = ym(endy,endm)
format start end %tm
lab var start "Monthly starting date (months since Jan 1960)"
lab var end "Monthly ending date (months since Jan 1960)"

*Generate and check the duration of each spell 
gen dur = end-start+1
sum dur, detail // no negative values or 0 durations

*Drop unnecessary variables
drop splast-endy

*Count number of episodes by person
sort ID_t start end 
by ID_t: gen epinr = [_n]
lab var epinr "Episode number"
fre epinr // up to 62 episodes per person

sort ID_t epinr

*** CohortProfile
global cohortvars tx80234
preserve
	clear
	neps: use ID_t wave ${cohortvars} using "CohortProfile" 
	tempfile cohort_tmp // tempfile  definieren
	save "`cohort_tmp'", replace 
restore
//als m:1-merge mit ID_t wave anspielen
merge m:1 ID_t wave using "`cohort_tmp'", /// 
	keepusing(${cohortvars}) nogenerate

nepsmiss tx80234

sort ID_t epinr

 

Hi Robin!

ohne jetzt deine Syntax ausprobiert zu  haben zwei Tips:

a) in Biography gibt es Zeilen, bei denen die Wellenvariable "wave" missing ist (-55 nicht ermittelbar). Sind das vielleicht deine Mismatches?

b) vielleicht hilft es dir, deinen merge Befehl etwas zu entschlacken:

*** CohortProfile
global cohortvars ID_t wave tx80234
neps: merge m:1 ID_t wave using "CohortProfile", keepusing(${cohortvars}) nogenerate

nepsmiss tx80234

sort ID_t epinr

Kommst du so weiter?

Alles Gute,

Tobias

1 Like