options ps=55 ls=76; data vote; infile 'H:\sas\uscounty\vote92.txt'; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 total clinton bush perot; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; clin_tot=clinton/total; clin_bush=clinton/(clinton+bush); perot_tot=perot/total; run; * proc sort; by clinton; * proc print; * var cntyname clinton bush perot; * proc sort; by stfips cntyfips; * proc means; data medage; infile 'H:\sas\uscounty\medage.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 medianage; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; *proc means; data savings; infile 'H:\sas\uscounty\bank92.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 savings; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; *proc means; data income; infile 'H:\sas\uscounty\inc92.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 income popn; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; income=income/10; *proc means; data poverty; infile 'H:\sas\uscounty\pov93.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 poverty; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; *proc means; data vets; infile 'H:\sas\uscounty\vets90.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 veterans; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; veterans=veterans/10; * proc means; data malefem; infile 'H:\sas\uscounty\MALEFEM92.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 males females; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; males=males/10; females=females/10; * proc means; data landarea; infile 'H:\sas\uscounty\landarea.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 landarea; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; *proc means; data nursing; infile 'H:\sas\uscounty\nursing.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 nursing; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; nursing=nursing/10; * proc means; data crime; infile 'H:\sas\uscounty\crime92.txt' lrecl=344; input stfips 3-4 cntyfips 5-7 cntyname $ 22-58 crimeindex; if stfips ne 02; if stfips ne 15; if cntyfips ne 0; data all; merge vote medage savings income poverty vets malefem landarea nursing crime; by stfips cntyfips; if clinton > 1; if savings > 10; if income > 1; if poverty > 0; if veterans > 0; if males > 1; if nursing > 0; if crimeindex > 10; * rangen=ranuni(6690); meansave=savings/popn; pci=income/popn; pctvets=veterans/popn; pctfem=females/(males+females); popdens=popn/landarea; pctnurse=nursing/popn; run; proc reg; model clin_tot = medianage meansave pci poverty pctvets pctfem popdens pctnurse crimeindex; run; proc corr; var clin_tot medianage meansave pci poverty pctvets pctfem popdens pctnurse crimeindex; run; %macro simstep; %do n=1 %to 100; data step&n; set all; ransamp=ranuni(1234*&n); run; proc sort; by ransamp; data step&n; set step&n; if _n_ <= 30; proc reg; model clin_tot = medianage meansave pci poverty pctvets pctfem popdens pctnurse crimeindex / selection=stepwise sle=.30 sls=.30; run; %end; %mend simstep; %simstep; run;