Project

General

Profile

Support #1171 ยป example7_ForeMoreThanOneWave.txt

Alita Nandi, 03/27/2019 02:24 PM

 
1

    
2
** 7.2 DATA PREPARATION: METHOD II
3
**********************************
4

    
5
foreach w in a b c d e f g h {
6

    
7
use "$dir/`w'_indresp", clear
8
keep `w'_hidp `w'_pno `w'_ppno `w'_ivfio `w'_sex `w'_dvage `w'_jbstat `w'_mastat_dv 
9

    
10
// Create within-household unique partnership identifier.
11
gen `w'_partnum=cond(`w'_pno < `w'_ppno, `w'_pno, `w'_ppno) if `w'_ppno>0
12
lab var `w'_partnum "Partnership identifier, within household"
13

    
14
// Drop cases who are single or partner/spouse is not present in HH.
15
drop if `w'_ppno<=0
16

    
17
// Count the number of respondents for each partnership ID
18
// Those with non-responding spouses will have `w'_numinpart=1.
19
bysort `w'_hidp `w'_partnum: egen `w'_numinpart = sum(`w'_ppno > 0) 
20
label variable `w'_numinpart "# respondents from partnership (max 2)"
21
tab `w'_numinpart 
22

    
23
sort `w'_hidp `w'_partnum `w'_pno
24
list `w'_hidp `w'_partnum `w'_pno `w'_ppno `w'_numinpart in 1/50, sepby(`w'_hidp)
25

    
26
// Keep only matched cases, that is, where both partners are present in the HH 
27
// and both are respondents. 
28
keep if `w'_numinpart==2
29

    
30
// Assign spouse variable values
31
bysort `w'_hidp `w'_partnum: ge sp_`w'_dvage=cond(_n==2,`w'_dvage[1],`w'_dvage[2],.) ///
32
                            if `w'_partnum<. 
33
lab val sp_`w'_dvage `w'_dvage
34

    
35
foreach v in `w'_sex `w'_mastat_dv `w'_jbstat {
36
	bysort `w'_hidp `w'_partnum: ge sp_`v' = cond(_n==2, `v'[1], `v'[2], .) ///
37
	                            if `w'_partnum < . 
38
	lab val sp_`v' `v'
39
}
40

    
41
rename `w'_* *
42
g wave=strpos("abcdefgh","`w'")
43
save `w'_couples, replace
44
}
45

    
    (1-1/1)