* Version SOEP 33, Mathis Schröder & Moritz Mannschreck & Jan Goebel
* 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"
local maxwave: word count `waves'
local maxyear=1983+`maxwave'
use /mnt/rdc-prod/distribution/soep-core/soep.v33/stata_en/ppfad.dta, clear
* 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
qui foreach i in `waves' {
gen byte `i'net=.
replace `i'net=1 if (`i'netto>=91 & `i'netto<=93)
replace `i'net=2 if (`i'netto>=97 & `i'netto<=99)
replace `i'net=3 if (`i'netto>=20 & `i'netto<=29)
replace `i'net=4 if (`i'netto>=10 & `i'netto<=19) | (`i'netto>=32 & `i'netto<=39) /* some other qnnaire in 32-39 */
replace `i'net=5 if (`i'netto>=80 & `i'netto<=89) | inlist(`i'netto,31,61,62) /* only luecke filled out for last year */
replace `i'net=6 if `i'netto==-2 | `i'netto==30
replace `i'net=7 if (`i'netto!=-2 & ~inrange(`i'netto,29,39)) & ~inrange(`i'net,-2,5)
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
qui 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 persnr net*
reshape long net, i(persnr) 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 ../graphics/where2.eps, replace
! convert ../graphics/where2.eps ../graphics/where2.png