如何控制SAS输出数据集中的小数点?
how to control decimal point in SAS output dataset?
我是 SAS 编程的新手,我正在尝试处理 proc means 语句。
为了控制输出中的十进制值,我使用了 maxdec 选项,但是当我尝试将新数据集分配给输出并打印它时,我的十进制值不受标准差控制。有人可以帮我弄清楚如何控制输出数据集中的小数点吗?
这是我使用的代码:
proc means data=sashelp.class maxdec=2 noprint;
var height weight;
output out=dsn2 Mean= Median= Min= Max= STD=/autoname;
run;
proc print data=dsn2;
run;
MAXDEC 选项仅控制 PRINTOUT 的生成方式。
如果要控制打印数据集时使用的小数位数,则需要将格式附加到变量。要控制附加到 PROC MEANS 中变量的格式,请使用 FORMAT 语句。如果您将格式附加到分析变量,则相同的格式将附加到从该变量派生的任何统计数据。
因此您可以在 PROC MEANS 步骤中或在创建输入数据集时使用 FORMAT 语句。或者您可以稍后将格式附加到输出数据集中的变量,或者只是在 PROC PRINT 期间。
data class ;
set sashelp.class;
format height weight 6.2;
run;
proc means data=class maxdec=2 noprint;
var height weight;
output out=dsn2 Mean= Median= Min= Max= STD=/autoname;
run;
proc contents data=dsn2 varnum; run;
结果
Variables in Creation Order
# Variable Type Len Format
1 _TYPE_ Num 8
2 _FREQ_ Num 8
3 Height_Mean Num 8 6.2
4 Weight_Mean Num 8 6.2
5 Height_Median Num 8 6.2
6 Weight_Median Num 8 6.2
7 Height_Min Num 8 6.2
8 Weight_Min Num 8 6.2
9 Height_Max Num 8 6.2
10 Weight_Max Num 8 6.2
11 Height_StdDev Num 8 6.2
12 Weight_StdDev Num 8 6.2
请注意,PROC MEANS 甚至可以让您直接将格式附加到生成的统计变量,但您会收到有关在输入数据集中找不到变量的警告。
2693 proc means data=sashelp.class maxdec=2 noprint;
2694 var height weight;
2695 format height_mean weight 6.2 ;
WARNING: Variable HEIGHT_MEAN not found in data set SASHELP.CLASS.
2696 output out=dsn2 Mean= Median= Min= Max= STD=/autoname;
2697 run;
我是 SAS 编程的新手,我正在尝试处理 proc means 语句。 为了控制输出中的十进制值,我使用了 maxdec 选项,但是当我尝试将新数据集分配给输出并打印它时,我的十进制值不受标准差控制。有人可以帮我弄清楚如何控制输出数据集中的小数点吗? 这是我使用的代码:
proc means data=sashelp.class maxdec=2 noprint;
var height weight;
output out=dsn2 Mean= Median= Min= Max= STD=/autoname;
run;
proc print data=dsn2;
run;
MAXDEC 选项仅控制 PRINTOUT 的生成方式。
如果要控制打印数据集时使用的小数位数,则需要将格式附加到变量。要控制附加到 PROC MEANS 中变量的格式,请使用 FORMAT 语句。如果您将格式附加到分析变量,则相同的格式将附加到从该变量派生的任何统计数据。
因此您可以在 PROC MEANS 步骤中或在创建输入数据集时使用 FORMAT 语句。或者您可以稍后将格式附加到输出数据集中的变量,或者只是在 PROC PRINT 期间。
data class ;
set sashelp.class;
format height weight 6.2;
run;
proc means data=class maxdec=2 noprint;
var height weight;
output out=dsn2 Mean= Median= Min= Max= STD=/autoname;
run;
proc contents data=dsn2 varnum; run;
结果
Variables in Creation Order
# Variable Type Len Format
1 _TYPE_ Num 8
2 _FREQ_ Num 8
3 Height_Mean Num 8 6.2
4 Weight_Mean Num 8 6.2
5 Height_Median Num 8 6.2
6 Weight_Median Num 8 6.2
7 Height_Min Num 8 6.2
8 Weight_Min Num 8 6.2
9 Height_Max Num 8 6.2
10 Weight_Max Num 8 6.2
11 Height_StdDev Num 8 6.2
12 Weight_StdDev Num 8 6.2
请注意,PROC MEANS 甚至可以让您直接将格式附加到生成的统计变量,但您会收到有关在输入数据集中找不到变量的警告。
2693 proc means data=sashelp.class maxdec=2 noprint;
2694 var height weight;
2695 format height_mean weight 6.2 ;
WARNING: Variable HEIGHT_MEAN not found in data set SASHELP.CLASS.
2696 output out=dsn2 Mean= Median= Min= Max= STD=/autoname;
2697 run;