* Gewichtungsfaktoren fuer Laengschnitte 84-97 + Rgroups * ------------------------------------------------------ version 6.0 clear set memory 30m set more off use persnr apdesreg /* */ prgroup /* */ aphrf bphrf cphrf dphrf ephrf fphrf gphrf hphrf iphrf jphrf kphrf /* */ lphrf mphrf nphrf /* */ bpbleib cpbleib dpbleib epbleib fpbleib gpbleib hpbleib /* */ ipbleib jpbleib kpbleib lpbleib mpbleib npbleib /* */ using $soepdir/phrf * Rename - it's easier to work with * --------------------------------- for any a b c d e f g h i j k l m n \\ num 84/97: /* */ ren Xphrf hrfY for any b c d e f g h i j k l m n \\ num 85/97: /* */ ren Xpbleib bleibY * Balanced Weights * ---------------- gen double bw = apdesreg local i 85 while `i' <= 97 { replace bw = bw * bleib`i' local i = `i' +1 } lab var bw "Weights, Balanced Panel-Design 84-97" * Unbalanced weights * ------------------ gen double uw = 0 gen mark = . local k 97 /* Letze Welle */ while `k' >= 84 { local i 84 while `i' <= `k' { replace mark = uw==0 replace uw = hrf`i' if uw == 0 local j = `i' + 1 while `j' <= `k' { replace uw = uw * bleib`j' if mark local j = `j' + 1 } local i = `i' + 1 } local k = `k' - 1 } lab var uw "Weights, Unbalanced Panel-Design 84-97" keep persnr bw uw prgroup sort persnr save weights, replace exit