- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
Paige Miller
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
Paige Miller
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
When you do a PROC PRINT here, use the LABEL option
proc print data=statistics label;
format stddev stderr 12.2;
run;
Paige Miller