OPTIONS PS=60 LS=64 NODATE NONUMBER; DATA skinfold; INPUT chest abdomen arm @@; CARDS; 09.0 12.0 3.0 20.0 20.0 7.5 10.0 23.0 6.0 12.0 6.0 5.0 08.5 15.0 3.0 12.0 17.0 4.0 11.0 13.0 6.0 05.0 14.0 3.0 13.0 19.0 3.0 22.0 20.0 6.0 10.5 12.0 3.5 17.0 15.0 4.5 10.0 7.0 4.0 17.0 28.0 5.5 15.0 15.5 3.0 16.0 11.0 3.0 07.0 13.0 2.5 16.0 18.0 3.0 09.0 12.5 5.0 17.5 18.0 3.0 15.5 28.5 5.0 21.0 27.5 6.0 23.0 24.0 6.5 11.5 15.0 3.0 22.5 20.0 4.5 13.0 14.0 4.0 14.0 21.0 2.5 04.0 3.0 2.0 05.5 8.5 3.0 21.0 13.0 9.0 16.0 11.0 3.0 17.5 15.0 4.5 25.0 35.0 6.5 21.0 6.0 3.5 16.5 17.0 4.0 09.5 11.5 2.5 15.0 19.0 4.0 13.5 6.5 3.5 16.0 15.0 3.0 26.0 38.0 4.0 12.5 20.0 3.0 05.0 7.5 3.5 12.0 15.0 3.5 15.0 13.0 4.5 17.0 19.5 5.0 16.0 20.0 5.5 09.0 4.0 2.0 19.0 12.0 3.0 16.0 17.5 6.0 14.5 14.5 4.0 ; ************************************* *******; *** TAKING A FIXED-SIZED SAMPLE OF SIZE k ***; *** WITHOUT REPLACEMENT FROM A DATA SET ***; *********************************************; DATA srswor; SET skinfold; k=20; *** k = sample size ***; ranid = ranuni(5978); PROC SORT DATA=srswor; BY ranid; DATA srswor; SET srswor; IF _N_ = k+1 THEN STOP; DROP ranid k; PROC PRINT DATA=srswor; TITLE 'TAKING A SIMPLE RANDOM SAMPLE WITHOUT REPLACEMENT'; **************************************************; *** SAMPLING p% OF A DATA SET WITH REPLACEMENT ***; **************************************************; DATA srswr (DROP=i); p=20; *** p = percent of data set to sample ***; total=50; *** total = size of the data set ***; DO i = 1 to INT(total*p/100); readit = CEIL(RANUNI(0)*total); SET skinfold POINT=readit NOBS=total; OUTPUT; END; STOP; PROC PRINT DATA=srswr; TITLE 'TAKING A SIMPLE RANDOM SAMPLE WITH REPLACEMENT'; RUN;