Files
Dss/Chililabdata/GenMaritalstatus.do
admin 8c43da1d1c Uloading
Uloading
2025-08-02 05:26:16 +07:00

34 lines
981 B
Plaintext

use observation
sort observeid
save observation, replace
use indmarstatus
keep individid marstatusid mar_sobserveid
rename mar_sobserveid observeid
sort observeid
merge observeid using observation, nokeep keep (obs_de_date)
drop if $refdate < obs_de_date
gen period = qofd($refdate )-qofd(obs_de_date ) +1
expand period
sort individid obs_de_date
by individid obs_de_date: gen p= _n-1
gen quarterdate = qofd(obs_de_date) + p
sort individ quarterdate
gen refquarter = qofd($refdate )
sort individid quarterdate
egen maxobs_de_date = max(obs_de_date), by(individid quarterdate)
keep if obs_de_date == maxobs_de_date
tostring quarterdate, generate(key)
replace key = individid + key
duplicates drop key, force
drop _merge
sort key
save crossmarstatustemp, replace
keep if refquarter == quarterdate
gen refdate = $refdate
format refdate %td
keep individid marstatusid refdate obs_de_date observeid
duplicates drop individid, force
sort individid
save cross\crossmarstatus, replace