修改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;
相关文章推荐
- C++输出结果如何控制小数位数
- PHP任意位数的大整数n统计n中各个数字出现的次数,并将结果以表格形式输出
- SAS ODS 过程输出图形
- 输入一个数学计算表达式,如:1+2 * 然后输出计算后的结果:1+2=3 * 这里计算表达式只计算一次即可,可以使用加减乘除任意一个,可以进行小数运算。
- 从键盘输入n个英文句子(“.”、“?”和“!”表示结束),每次输入一句,分别统计输出每个句子的大写字母个数、小写字母个数、数字个数、空格个数和其他字符个数,最后输出全部句子的统计结果。
- Chapter9——分析下面的程序,写出其运行时的输出结果/将程序第5行改为Date(int=1,int=1,int=2005);修改程序使之能通过编译
- 编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格,和其他字符的个数,在主函数中输入字符串以及输出上述统计的结果。再考虑将算的的结果放在一个数组中
- 让用户输入一个5位数(若不是5位数,则提示错误),判断它是不是回文数,输出判断结果。回文数:如12321是一个回文数,万位与个位相同,十位与千位相同。
- 输入一个字节内的数(0-255)和移动位数.输出移位结果(要求循环移位)
- JAVA调用My SQL 加法算法数据存储过程中,创建存储过程时定义了两个输入类型和一个输出类型,写完输入之后无法调出输出参数 无法调出结果
- 单线程解析文件,根据文件关键词进行统计,并将结果输出(三)
- 统计一个整数n的位数并按序输出
- c++输出保留固定小数位数
- 统计一段文字中每个字符出现的次数,并输出结果(包含字符及其出现次数)保存在一个适合的集合中。
- 使用SAS存储过程直接输出excel文件最简单的方法
- 用cout控制输出小数的位数
- R语言—统计结果输出至本地文件方法总结
- 单线程解析文件,根据文件关键词进行统计,并将结果输出(二)
- 牛客小白月赛A-简单题(求极限、输出小数位数格式的几种方法、Math类方法)
- shell脚本表达式计算命令bc和限定计算结果小数位数