98 lines
2.7 KiB
Plaintext
98 lines
2.7 KiB
Plaintext
clear all
|
|
cd ..\data
|
|
use observation
|
|
sort observeid
|
|
save, replace
|
|
use membership.dta
|
|
sort individid mem_sdate
|
|
replace mem_sdate = mem_sdate/86400000
|
|
egen maxdate = max( mem_sdate), by (individid)
|
|
keep if mem_sdate==maxdate
|
|
keep if mem_edate==.
|
|
gen observeid = mem_sobserveid
|
|
gen round = substr( mem_sobserveid, 10,3)
|
|
duplicates drop individid round, force
|
|
gen individkey = individid + round
|
|
gen householdkey = socialgpid + round
|
|
duplicates drop individid, force
|
|
merge m:1 observeid using observation, keepusing(locationid)
|
|
keep if _merge ==3
|
|
drop _merge observeid mem_episodeid mem_sobserveid mem_seventtype mem_eobserveid mem_eeventtype mem_no round mem_sdate mem_edate maxdate socialgpidGuid mem_sobserveidGuid mem_eobserveidGuid
|
|
/* get individual core information */
|
|
sort individid
|
|
merge m:1 individid using ..\newcode\data\std_individual
|
|
keep if _merge ==3
|
|
drop _merge
|
|
|
|
/* get education information */
|
|
sort individkey
|
|
merge 1:1 individkey using ..\newcode\data\std_education.dta
|
|
keep if _merge!=2
|
|
drop _merge
|
|
|
|
/* get occupation information */
|
|
sort individkey
|
|
merge 1:1 individkey using ..\newcode\data\std_occupation.dta
|
|
keep if _merge!=2
|
|
drop _merge
|
|
|
|
/* get marial status information */
|
|
sort individkey
|
|
merge 1:1 individkey using ..\newcode\data\std_marstatus.dta
|
|
keep if _merge!=2
|
|
drop _merge
|
|
|
|
/* get religion information */
|
|
sort individkey
|
|
merge 1:1 individkey using ..\newcode\data\std_religion.dta
|
|
keep if _merge!=2
|
|
drop _merge
|
|
|
|
/* get marriage information */
|
|
sort individkey
|
|
merge 1:1 individkey using ..\newcode\data\std_relationship.dta, keepusing(partnerid marriagedate marriagetype)
|
|
keep if _merge!=2
|
|
drop _merge
|
|
replace marstatusid = 1 if marriagetype =="MAR"
|
|
|
|
/* get Insurance information */
|
|
sort individkey
|
|
merge 1:1 individkey using ..\newcode\data\std_medinsurance.dta, keepusing(hinsid)
|
|
keep if _merge!=2
|
|
drop _merge
|
|
|
|
/* get househead information */
|
|
sort individkey
|
|
merge 1:1 individkey using ..\newcode\data\std_househeadlist
|
|
keep if _merge!=2
|
|
gen ishousehead =0
|
|
replace ishousehead =0 if _merge ==1
|
|
replace ishousehead =1 if _merge==3
|
|
drop _merge
|
|
merge 1:1 individkey using ..\newcode\data\std_recidency.dta
|
|
keep if _merge!=2
|
|
gen isresident =0
|
|
replace isresident=1 if _merge==3
|
|
drop _merge
|
|
sort individid
|
|
merge m:1 individid using ..\newcode\data\std_enterexit
|
|
keep if _merge!=2
|
|
drop _merge
|
|
label drop _merge
|
|
gen CommuneId = substr(locationid, 1,2)
|
|
|
|
/* recode */
|
|
label variable sex "Gioi tinh"
|
|
label variable socialgpid "Ma ho"
|
|
label variable fatherid "Ma so bo"
|
|
label variable motherid "Ma so me"
|
|
label variable hinsid "Bao hiem y te"
|
|
label variable ishousehead "La chu ho"
|
|
label define chuho 1 "La chu ho" 0 "Khong la chu ho"
|
|
label values ishousehead chuho
|
|
label variable marriagetype "Hinh thuc hon nhan"
|
|
label variable CommuneId "Ma xa"
|
|
|
|
|
|
save ..\newcode\data\currentlist,replace
|