libname mylib "M:\"; filename midterm "N:\share\notes\Midterm-Fall2005-1997rank.csv"; data mylib.readin1; infile midterm firstobs=3 dlm=',' dsd missover lrecl=900; input year: 4. name: $50. score reputation accept_rate graduate_rate; run; proc contents data=mylib.readin1; run; proc print data=mylib.readin1; run; data mylib.readin1; set mylib.readin1; if accept_rate<0.20 then acceptgrp="low"; else acceptgrp="high"; run; proc means data=mylib.readin1; class acceptgrp; var reputation accept_rate graduate_rate; run; proc sort data=mylib.readin1; by acceptgrp; run; proc univariate data=mylib.readin1; by acceptgrp; var reputation; run; data mylib.readin1; set mylib.readin1; if graduate_rate<0.5 then gradgrp="low"; else if 0.5<=graduate_rate<0.8 then gradgrp="middle"; else gradgrp="high"; run; proc freq data=mylib.readin1; tables acceptgrp gradgrp acceptgrp*gradgrp; run; proc chart data=mylib.readin1; title ‘histogram for acceptgrp’; vbar acceptgrp; run; proc chart data=mylib.readin1; title ‘frequency by two variables’; vbar acceptgrp / group=gradgrp; run; proc chart data=mylib.readin1; title "histogram for continuous variable"; vbar accept_rate; run; proc chart data=mylib.readin1; title "histogram with specific midpoints"; vbar accept_rate / midpoints=0 to 1 by 0.1; run; proc plot data=mylib.readin1; title "scatter plot of accept rate and grad rate"; plot accept_rate*graduate_rate; run; proc means data=mylib.readin1; class acceptgrp gradgrp; var score reputation; output out = mylib.summary1 mean = avgscore avgreputn; run; proc print data=mylib.summary1; run; proc sort data=mylib.readin1; by acceptgrp gradgrp; run; proc sort data=mylib.summary1; by acceptgrp gradgrp; run; data mylib.merged; merge mylib.readin1 (in=one) mylib.summary1 (in=two); by acceptgrp gradgrp; if one=1 & two=1; run; proc print data=mylib.merged; run; proc sort data=mylib.readin1; by acceptgrp gradgrp; run; proc sort data=mylib.summary1; by acceptgrp gradgrp; run; data mylib.mergedwithor; merge mylib.readin1 (in=one) mylib.summary1 (in=two); by acceptgrp gradgrp; if one=1 or two=1; run; proc print data=mylib.mergedwithor; run; data mylib.appended; set mylib.readin1 mylib.summary1; run; proc print data=mylib.appended; run; proc print data=mylib.merged; run; data mylib.allrecords; merge mylib.readin1 (in=one) mylib.summary1 (in=two); by acceptgrp gradgrp; myone=one; mytwo=two; if one=1 or two=1; run; proc freq data=mylib.allrecords; tables myone*mytwo; run;