/* line 1*/ filename gradepop 'd:\ginger\econ424\econ424-fall2001\final\gradepop.csv'; /* line 2*/ filename player 'd:\ginger\econ424\econ424-fall2001\final\player-race.csv'; /* line 3 */ data gradepop; /* line 4 */ infile gradepop firstobs=3 dlm=',' dsd missover; /* line 5 */ informat printer $16. cardnum $4. playernm $50.; /* line 6 */ input year printer cardnum playernm n1 xbar1 sigma1 n2 xbar2 sigma2; /* line 7 */ growth=(n2-n1)/n1; /* line 8 */ if year<=1979 then vintage=1; else vintage=0; /* line 9 */ if year=. then delete; /* line 10 */ run; /* line 11 */ proc contents; /* line 12 */ run; /* line 13 */ proc freq data=gradepop; /* line 14 */ tables vintage; /* line 15 */ run; /* line 16 */ proc means data=gradepop noprint; /* line 17 */ class playernm; /* line 18 */ var n1 n2; /* line 19 */ output out=cardsum sum=sum_n1 sum_n2; /* line 20 */ run; /* line 21 */ proc sort data=cardsum; /* line 22 */ by sum_n1; /* line 23 */ run; /* line 24 */ proc print data=cardsum; /* line 25 */ run; /* line 26 */ proc sort data=cardsum; /* line 27 */ by sum_n2; /* line 28 */ run; /* line 29 */ proc print data=cardsum; /* line 30 */ run; /* line 31 */ data gradepop; /* line 32 */ set gradepop; /* line 33 */ avgtest=(xbar1-xbar2)/sqrt(sigma1*sigma1/n1+sigma2*sigma2/n2); /* line 34 */ if avgtest>=1.64485 then reject=1; else reject=0; /* line 35 */ run; /* What is 1.64485? Suppose a is a random variable that conforms to standard normal distribution, probability (a>=1.64485)=0.05 */ /* line 36 */ proc means data=gradepop; /* line 37 */ class vintage; /* line 38 */ var avgtest reject; run; /* line 39 */ data player; /* line 40 */ infile player firstobs=2 dlm=',' dsd; /* line 41 */ informat playernm $50.; /* line 42 */ input race nopitch playernm; /* line 43 */ run; /* line 44 */ proc sort data=gradepop; /* line 45 */ by playernm; /* line 46 */ run; /* line 47 */ proc sort data=player; /* line 48 */ by playernm; /* line 49 */ run; /* line 50 */ data merged; /* line 51 */ merge gradepop (in=one) player (in=two); /* line 52 */ by playernm; /* line 53 */ if vintage=1 & race=1 then raceage='vintage+white'; /* line 54 */ else if vintage=1 & race=0 then raceage='vintage+non-white'; /* line 55 */ else if vintage=0 & race=1 then raceage='modern + white'; /* line 56 */ else if vintage=0 & race=0 then raceage='modern + non-white'; /* line 57 */ proc glm data=merged; /* line 58 */ class raceage; /* line 59 */ model growth=raceage; /* line 60 */ mean raceage / waller; /* line 61 */ mean raceage / lsd; /* line 62 */ run; /* line 63 */ proc reg data=merged; /* line 64 */ model growth=race; /* line 65 */ run; /* line 66 */ proc reg data=merged; /* line 67 */ model growth=race vintage; /* line 68 */ run; /* line 69 */ proc sort data=merged; by vintage; run; /* line 70 */ proc reg data=merged; /* line 71 */ by vintage; /* line 72 */ model growth=race; /* line 73 */ run;