data ma9501; input Place $ Population $ acadyear $ ey0gk ey0g1 ey0g2 ey0g3 ey0g4 ey0g5 ey0g6 ey0g7 ey0g8 ey0g9 ey0g10 ey0g11 ey0g12 ey1gk ey1g1 ey1g2 ey1g3 ey1g4 ey1g5 ey1g6 ey1g7 ey1g8 ey1g9 ey1g10 ey1g11 ey1g12 retk ret1 ret2 ret3 ret4 ret5 ret6 ret7 ret8 ret9 ret10 ret11 ret12 grads h; array netflow {10,13} ey0gk ey0g1 ey0g2 ey0g3 ey0g4 ey0g5 ey0g6 ey0g7 ey0g8 ey0g9 ey0g10 ey0g11 ey0g12 ey1gk ey1g1 ey1g2 ey1g3 ey1g4 ey1g5 ey1g6 ey1g7 ey1g8 ey1g9 ey1g10 ey1g11 ey1g12 retk ret1 ret2 ret3 ret4 ret5 ret6 ret7 ret8 ret9 ret10 ret11 ret12 nmgk nmg1 nmg2 nmg3 nmg4 nmg5 nmg6 nmg7 nmg8 nmg9 nmg10 nmg11 nmg12 prgk prg1 prg2 prg3 prg4 prg5 prg6 prg7 prg8 prg9 prg10 prg11 prg12 nmgk_p nmg1_p nmg2_p nmg3_p nmg4_p nmg5_p nmg6_p nmg7_p nmg8_p nmg9_p nmg10_p nmg11_p nmg12_p prgk_p prg1_p prg2_p prg3_p prg4_p prg5_p prg6_p prg7_p prg8_p prg9_p prg10_p prg11_p prg12_p SDk SD1 SD2 SD3 SD4 SD5 SD6 SD7 SD8 SD9 SD10 SD11 SD12 nmestk nmest1 nmest2 nmest3 nmest4 nmest5 nmest6 nmest7 nmest8 nmest9 nmest10 nmest11 nmest12 nmadjk nmadj1 nmadj2 nmadj3 nmadj4 nmadj5 nmadj6 nmadj7 nmadj8 nmadj9 nmadj10 nmadj11 nmadj12 ; * Setting up the table initially:; do i=1 to 13; netflow [4,i] = netflow [2,i] - netflow [1,i]; *initial net-migrant estimate; netflow [5,i] = netflow [2,i] - netflow [3,i]*(netflow [1,i] + netflow [4,i]); * initial promotions estimate; netflow [6,i] = netflow [4,i]; *\setting up the 'prior estimates' rows; netflow [7,i] = netflow [5,i]; */; end; *do; LeastSquare = 1; k = 1; do until ((LeastSquare < 1) or (k = 20)); * First, estimating net migration for 12th grade; netflow [4,13] = netflow [2,13] - netflow [1,13] + grads - netflow [5,13]; * Next, estimating net migration for k-11th grades; do j=1 to 12; next = j+1; netflow [4,j] = netflow [2,j] - netflow [1,j] + netflow [5,next] - netflow[5,j]; end; *Do i=1 to 12; * Next, estimating promotions for all grades; do i=1 to 13; netflow [5,i] = netflow [2,i] - netflow [3,i]*(netflow [1,i] + h* netflow [4,i]) - (1 - h)* netflow [4,i]; netflow [8,i] = (netflow[4,i]-netflow[6,i])*(netflow[4,i]-netflow[6,i]) + (netflow[5,i]-netflow[7,i])*(netflow[5,i]-netflow[7,i]); netflow [6,i] = netflow [4,i]; netflow [7,i] = netflow [5,i]; end; *end estimating promotions for all grades and squaring differemaes; LeastSquare = sum(SDk,SD1,SD2,SD3, SD4, SD5, SD6, SD7, SD8, SD9, SD10, SD11, SD12); put 'Least Squared is ' LeastSquare; k = k + 1; end; *do until; do i=1 to 13; netflow [9,i] = netflow [4,i] / mean(netflow [1,i],netflow[2,i]);end; do i=1 to 13; netflow [10,i] = netflow [9,i] - mean(nmest2,nmest3, nmest4, nmest5, nmest6, nmest7); END; *rates; label ey0gk = 'enrollment year 0, grade k' ey0g1 = 'enrollment year 0, grade 1' ey0g2 = 'enrollment year 0, grade 2' ey0g3 = 'enrollment year 0, grade 3' ey0g4 = 'enrollment year 0, grade 4' ey0g5 = 'enrollment year 0, grade 5' ey0g6 = 'enrollment year 0, grade 6' ey0g7 = 'enrollment year 0, grade 7' ey0g8 = 'enrollment year 0, grade 8' ey0g9 = 'enrollment year 0, grade 9' ey0g10 = 'enrollment year 0, grade 10' ey0g11 = 'enrollment year 0, grade 11' ey0g12 = 'enrollment year 0, grade 12' ey1gk = 'enrollment year 1, grade k' ey1g1 = 'enrollment year 1, grade 1' ey1g2 = 'enrollment year 1, grade 2' ey1g3 = 'enrollment year 1, grade 3' ey1g4 = 'enrollment year 1, grade 4' ey1g5 = 'enrollment year 1, grade 5' ey1g6 = 'enrollment year 1, grade 6' ey1g7 = 'enrollment year 1, grade 7' ey1g8 = 'enrollment year 1, grade 8' ey1g9 = 'enrollment year 1, grade 9' ey1g10 = 'enrollment year 1, grade 10' ey1g11 = 'enrollment year 1, grade 11' ey1g12 = 'enrollment year 1, grade 12' retk = 'retention rate, grade k' ret1 = 'retention rate, grade 1' ret2 = 'retention rate, grade 2' ret3 = 'retention rate, grade 3' ret4 = 'retention rate, grade 4' ret5 = 'retention rate, grade 5' ret6 = 'retention rate, grade 6' ret7 = 'retention rate, grade 7' ret8 = 'retention rate, grade 8' ret9 = 'retention rate, grade 9' ret10 = 'retention rate, grade 10' ret11 = 'retention rate, grade 11' ret12 = 'retention rate, grade 12' nmgk = 'net-migrant estimate, grade k' nmg1 = 'net-migrant estimate, grade 1' nmg2 = 'net-migrant estimate, grade 2' nmg3 = 'net-migrant estimate, grade 3' nmg4 = 'net-migrant estimate, grade 4' nmg5 = 'net-migrant estimate, grade 5' nmg6 = 'net-migrant estimate, grade 6' nmg7 = 'net-migrant estimate, grade 7' nmg8 = 'net-migrant estimate, grade 8' nmg9 = 'net-migrant estimate, grade 9' nmg10 = 'net-migrant estimate, grade 10' nmg11 = 'net-migrant estimate, grade 11' nmg12 = 'net-migrant estimate, grade 12' prgk = 'Promoted students estimate, into grade k' prg1 = 'Promoted students estimate, into grade 1' prg2 = 'Promoted students estimate, into grade 2' prg3 = 'Promoted students estimate, into grade 3' prg4 = 'Promoted students estimate, into grade 4' prg5 = 'Promoted students estimate, into grade 5' prg6 = 'Promoted students estimate, into grade 6' prg7 = 'Promoted students estimate, into grade 7' prg8 = 'Promoted students estimate, into grade 8' prg9 = 'Promoted students estimate, into grade 9' prg10 = 'Promoted students estimate, into grade 10' prg11 = 'Promoted students estimate, into grade 11' prg12 = 'Promoted students estimate, into grade 12' nmestk = 'Net migrant estimate, grade k' nmest1 = 'Net migrant estimate, grade 1' nmest2 = 'Net migrant estimate, grade 2' nmest3 = 'Net migrant estimate, grade 3' nmest4 = 'Net migrant estimate, grade 4' nmest5 = 'Net migrant estimate, grade 5' nmest6 = 'Net migrant estimate, grade 6' nmest7 = 'Net migrant estimate, grade 7' nmest8 = 'Net migrant estimate, grade 8' nmest9 = 'Net migrant estimate, grade 9' nmest10 = 'Net migrant estimate, grade 10' nmest11 = 'Net migrant estimate, grade 11' nmest12 = 'Net migrant estimate, grade 12' nmadjk = 'Adjusted net-migrant estimate, grade k' nmadj1 = 'Adjusted net-migrant estimate, grade 1' nmadj2 = 'Adjusted net-migrant estimate, grade 2' nmadj3 = 'Adjusted net-migrant estimate, grade 3' nmadj4 = 'Adjusted net-migrant estimate, grade 4' nmadj5 = 'Adjusted net-migrant estimate, grade 5' nmadj6 = 'Adjusted net-migrant estimate, grade 6' nmadj7 = 'Adjusted net-migrant estimate, grade 7' nmadj8 = 'Adjusted net-migrant estimate, grade 8' nmadj9 = 'Adjusted net-migrant estimate, grade 9' nmadj10 = 'Adjusted net-migrant estimate, grade 10' nmadj11 = 'Adjusted net-migrant estimate, grade 11' nmadj12 = 'Adjusted net-migrant estimate, grade 12' ; cards; Massachusetts All 2000-01 70647 70599 75839 77269 78287 79767 78971 76731 74527 78201 71430 64622 58322 68565 75103 73435 75379 76597 77570 78815 78147 75219 80394 69692 64105 59453 0.028 0.039 0.019 0.013 0.007 0.005 0.01 0.018 0.015 0.081 0.047 0.036 0.018 54393 0.90 Massachusetts All 1995-96 79163 79565 75647 73380 71800 71606 69122 67176 65724 68623 62856 57029 51911 76519 81375 77953 75468 73659 72121 71768 69867 67029 70811 64182 58643 52569 0.02 0.03 0.011 0.005 0.003 0.002 0.006 0.015 0.015 0.063 0.045 0.033 0.022 47993 0.9 Massachusetts All 1996-97 76519 81375 77953 75468 73659 72121 71768 69867 67029 70811 64182 58643 52569 73125 79785 79534 77849 75586 73697 72208 72275 69388 72256 65793 60116 54354 0.019 0.031 0.013 0.006 0.003 0.002 0.006 0.014 0.015 0.063 0.045 0.036 0.019 49008 0.9 Massachusetts All 1998-99 71390 78873 78112 79612 77943 75873 74131 73148 72101 74668 66456 61200 55369 70029 76926 76928 78067 79385 78058 75902 74783 72545 77733 68577 62424 56440 0.02 0.032 0.013 0.007 0.005 0.003 0.007 0.014 0.014 0.068 0.043 0.032 0.021 51465 0.9 Massachusetts All 1999-2000 70029 76926 76928 78067 79385 78058 75902 74783 72545 77733 68577 62424 56440 70647 70599 75839 77269 78287 79767 78971 76731 74527 78201 71430 64622 58322 0.024 0.036 0.015 0.009 0.006 0.004 0.008 0.016 0.017 0.074 0.046 0.033 0.019 52950 0.9 ; run; proc print data=ma9501; title 'basic figures massachusetts'; run;