您的位置:首页 > 其它

修改SAS统计过程输出结果的小数位数

2022-03-23 22:16 441 查看

本文链接:https://www.cnblogs.com/snoopy1866/p/16047222.html

修改输出到数据集中的格式

结合ODS TRACE语句与ODS OUTPUT语句可以将任意过程步的结果输出至数据集中,以便进一步处理。某些情况下,SAS输出结果提供的小数位数可能不符合实际输出的要求,这时候就需要修改默认的数值输出格式了。 例如:使用PROC MEANS过程对数据集sashelp.class中的height变量进行汇总统计。

ods trace on;
ods output Summary = Summary;
proc means data = sashelp.class;
var height;
run;
ods trace off;

将均值与标准差修改成想要的输出格式:

proc datasets noprint;
modify Summary;
format Height_Mean Height_StdDev 5.2;
quit;

修改输出到结果查看器中的格式

如果还需要同时修改结果查看器中的输出格式,就需要使用到模板了。 ODS TRACE ON和ODS TRACE OFF组合使用会在日志中打印过程步包含的可输出的对象及对象的属性,其中包括对象使用的模板: 在命令窗口中输入"odstemplates",打开模板查看器,依次展开"Sashelp.Tmplmst -> Base -> Summary",双击"Summary"即可查看模板源代码,或者使用source语句在日志中显示源代码:

proc template;
source base.summary;
run;

找到要修改的变量名,然后使用edit语句进行输出格式的修改:

ODS PATH WORK.TEMPLAT(UPDATE) SASHELP.Tmplmst(READ); /*修改后的模板保存在work.templat中*/
proc template;
edit base.summary;
edit mean;
format = 5.2;
end;
edit stddev;
format = 5.2;
end;
edit min;
format = 4.1;
end;
edit max;
format = 4.1;
end;
end;
run;

重新运行PROC MEANS过程,结果如下:

为防止修改后的模板对其他输出结果产生影响,最好及时删除work.templat中的临时模板,恢复为默认模板。

proc template;
delete base.summary;
run;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐