I want to limit the decimal places to 2 for the output for STD ERROR of SUM from PROC SURVEYMEANS.
In the following example the Std Error of Sum = 267.928448 but I want it to be 267.93. Thanks
data TEST;
do ID = 1 to 30;
HEIGHT = round(130 + rand('Uniform') * 50, 0.01); /* Heights with 2 decimal places */
WEIGHT = rand('Uniform'); /* Generating random survey weights */
output;
end;
run;
/* Run PROC SURVEYMEANS with weights */
proc surveymeans data=TEST min max sum std mean stderr plots=none;
var HEIGHT;
weight WEIGHT;
run;
Write the results to a SAS data set, then apply format 12.2 (or any other format you would like) to the output data set.
ods select none;
ods output statistics=statistics;
/* Run PROC SURVEYMEANS with weights */
proc surveymeans data=TEST min max sum std mean stderr;
var HEIGHT;
weight WEIGHT;
run;
ods select all;
Write the results to a SAS data set, then apply format 12.2 (or any other format you would like) to the output data set.
ods select none;
ods output statistics=statistics;
/* Run PROC SURVEYMEANS with weights */
proc surveymeans data=TEST min max sum std mean stderr;
var HEIGHT;
weight WEIGHT;
run;
ods select all;
Thanks @PaigeMiller!
It is interesting that the output from ODS output renames Std Error of MEan to StdErr and renames Std Error of Sum to StdDev and I need to format StdDev. But that solves my problem. Thanks
When you do a PROC PRINT here, use the LABEL option
proc print data=statistics label;
format stddev stderr 12.2;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.