Getting Started Examples for PROC SURVEYMEANS
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: SVMGS */
/* TITLE: Getting Started Examples for PROC SURVEYMEANS */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: descriptive statistics, survey sampling */
/* KEYS: stratification, clustering */
/* KEYS: unequal weighting, categorical data analysis */
/* PROCS: SURVEYMEANS */
/* DATA: */
/* */
/* SUPPORT: sasaba */
/* REF: PROC SURVEYMEANS, Getting Started */
/* */
/* MISC: */
/* */
/****************************************************************/
data IceCream;
input Grade Spending @@;
if (Spending < 10) then Group='less';
else Group='more';
datalines;
7 7 7 7 8 12 9 10 7 1 7 10 7 3 8 20 8 19 7 2
7 2 9 15 8 16 7 6 7 6 7 6 9 15 8 17 8 14 9 8
9 8 9 7 7 3 7 12 7 4 9 14 8 18 9 9 7 2 7 1
7 4 7 11 9 8 8 10 8 13 7 2 9 6 9 11 7 2 7 9
;
title1 'Analysis of Ice Cream Spending';
title2 'Simple Random Sample Design';
proc surveymeans data=IceCream total=4000;
var Spending Group;
run;
data StudentTotals;
input Grade _total_;
datalines;
7 1824
8 1025
9 1151
;
data IceCream;
set IceCream;
if Grade=7 then Prob=20/1824;
if Grade=8 then Prob=9/1025;
if Grade=9 then Prob=11/1151;
Weight=1/Prob;
run;
title1 'Analysis of Ice Cream Spending';
title2 'Stratified Sample Design';
proc surveymeans data=IceCream total=StudentTotals;
stratum Grade / list;
var Spending Group;
weight Weight;
run;
title1 'Analysis of Ice Cream Spending';
title2 'Stratified Sample Design';
proc surveymeans data=IceCream total=StudentTotals;
stratum Grade / list;
var Spending Group;
weight Weight;
ods output Statistics=MyStat;
run;
proc print data=MyStat;
run;
data new;
input sex$ x;
datalines;
M 12
F 5
M 13
F 23
F 11
;
proc surveymeans data=new mean;
ods output statistics=rectangle;
run;
proc print data=rectangle;
run;
title 'Rectangular Structure in the Output Data Set';
proc print data=rectangle;
run;
proc surveymeans data=new mean stacking;
ods output statistics=stacking;
run;
proc print data=stacking;
run;
title 'Stacking Structure in the Output Data Set';
proc print data=stacking;
run;