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;
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.