* Version SOEP 38, Mathis Schröder & Moritz Mannschreck & Jan Goebel & Selin Kara & Stefan Zimmermann & Ekaterina Stepanova * produces figure "Longitudinal Development of the 1984 Population" clear all set more off * set the basics local waves "a b c d e f g h i j k l m n o p q r s t u v w x y z ba bb bc bd be bf bg bh bi bj bk bl" local maxwave: word count `waves' local maxyear=1983+`maxwave' use \\hume\rdc-gen\consolidated\soep-core\soep.v38\consolidated14\ppfad.dta, replace * restrict to participants in 1984; desired n=16252 keep if anetto>0 count assert r(N)==16252 * generate a new netto variable label define net 1 "Moved abroad" 2 "Deceased" 3 "Under age 16" 4 "With interview" 5 "Temporary drop out" 6 "Declined to reply" 7 "No contact", modify * recode new nettocodes since v.37 qui foreach i in `waves' { replace `i'netto=31 if `i'netto==41 replace `i'netto=30 if inlist(`i'netto,40,41,42,44,48,49) } qui foreach i in `waves' { gen byte `i'net=. replace `i'net=1 if (`i'netto>=91 & `i'netto<=93) // Moved abroad replace `i'net=2 if (`i'netto>=97 & `i'netto<=99) // Deceased replace `i'net=3 if (`i'netto>=20 & `i'netto<=29) // Under age 16 replace `i'net=4 if (`i'netto>=10 & `i'netto<=19) | (`i'netto>=32 & `i'netto<=39) /* some other qnnaire in 32-39 With interview */ replace `i'net=5 if (`i'netto>=80 & `i'netto<=89) | inlist(`i'netto,31,61,62) /* Temporary drop out, only luecke filled out for last year */ replace `i'net=6 if `i'netto==-2 | `i'netto==30 // Declined to reply replace `i'net=7 if `i'netto==90 // No contact lab values `i'net net } /* im Jahr 2009 hat die Anzahl der Verstorbenen einen Sprung, liegt daran dass "Hinweise zu Verstorbenen" im Jahr 2009 oft belegt ist --> wenn todjahr vorliegt, die entsprechenden net Variablen ersetzen! */ local cnt=1 qui { forvalues yr=1984/`maxyear' { local wv: word `cnt' of `waves' replace `wv'net=2 if znetto==97 & todjahr==`yr' rename `wv'net net`yr' local cnt=`cnt'+1 } } * Wenn net in einem Jahr auf -2 steht, ersetze den Code des Vorjahres forvalues i=1985/`maxyear' { local a=`i'-1 replace net`i'=net`a' if net`i'==6 & net`a'!=-2 & (net`a'==1 | net`a'==2 | net`a'==7) } keep pid net* reshape long net, i(pid) j(svyyear) * graph mit "catplot" #d; catplot net, percent(svyyear) stack asyvars recast(bar) yreverse over(svyyear, label(angle(ninety))) ylabel(, angle(zero)) ytitle("") b1title("") legend(cols(4) region(lcolor(white)) position(12) symxsize(small)) bar(1, lcolor(black) lpattern(solid)) bar(2, lcolor(black) lpattern(solid)) bar(3, lcolor(black) lpattern(solid)) bar(4, lcolor(black) lpattern(solid)) bar(5, lcolor(black) lpattern(solid)) scheme(s2color) xsize(20) ysize(12) graphregion(fcolor(white)); #d cr * graph export ../graphics/where2.ps, replace *graph export H:\where2.eps, replace *! convert H:\where2.eps H:\where2.png graph export "H:/clone/soepcompanion/docs/source/Target Population and Samples/png/where2.png", replace