36 lines
1.1 KiB
Plaintext
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
|