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

36 lines
1.1 KiB
Plaintext

use observation
sort observeid
save observation, replace
use householdInfo
drop if socialgpid == ""
sort observeid
merge observeid using observation, nokeep keep (obs_de_date)
gen refdate = $refdate + 180
drop if refdate < obs_de_date
gen period = qofd(refdate )-qofd(obs_de_date ) +1
expand period
sort socialgpid obs_de_date
by socialgpid obs_de_date: gen p= _n-1
gen quarterdate = qofd(obs_de_date) + p
gen refquarter = qofd(refdate )
sort socialgpid quarterdate
egen maxobs_de_date = max(obs_de_date), by(socialgpid quarterdate)
keep if obs_de_date == maxobs_de_date
tostring quarterdate, gen(key)
replace key = socialgpid + key
sort key
save householdinfortemp, replace
keep if refquarter == quarterdate
format refdate %td
drop _merge period quarterdate refquarter hhinforid observeid p
duplicates drop socialgpid, force
sort socialgpid
save cross\crosshouseholdinfo, replace
global refmonth = month( $refdate + 180)
global refyear = year( $refdate + 180)
save cross\crosshouseholdinfo$refmonth$refyear, replace
use cross\crosshouseresidency
merge socialgpid using cross\crosshouseholdinfo
keep if _merge ==3
save cross\crossresidencyhouseholdinfo, replace