三省 发表于 2014-7-2 16:27

ODS trace与output的配合使用

本帖最后由 三省 于 2014-7-2 16:53 编辑

     TRACE的功能室查询输出管道的对象。实际应用中,编程人员绝对不会刻意记住每一个过程步的所有输出对象名称,通过TRACE就可以很容易获取所需要的输出对象的名称。

   OUTPUT的主要功能是将OUTPUT窗口的输出对象转换成SAS数据集。比如,UNIVARIATE过程步可以产生很多输出对象,如果想要将其中的基本部分(如极值观测、分位数等),输出成为SAS数据集,就需要用到OUTPUT输出管道。

1. ODS TRACE
例如运行如下代码:

ods trace on listing; /*listing:输出对象记录(即名称、标签等)到OUTPUT窗口*/
proc univariate data=sashelp.class;
var age;
run;
ods trace off;
出现如下结果:

下面是univariate过程的所有输出对象,即有如下的五个估计部分:


        


其中红框部分的ExtremeObs(极值观测)、Quantiles(分位数)常常用于数值型变量的数据清洗工作。  


2. ODS OUTPUT

假设研究人员关心的是基本测度、 ExtremeObs、Quantiles这三个部分的估计结果,那么就需要OUTPUT将基本测度、ExtremeObs与Quantiles三个对象输出为SAS数据集:

ods listing close;
ods results off;
ods output
basicmeasures=basic
extremeobs=extremes
quantiles=quantiles
;
proc univariate data=sashelp.class;
class sex;
var weight height;
run;
ods output close;
ods results on;
ods listing;

输出basic基本测量:
proc print data=basic;run;


输出extremes极值观测:
proc print data=extremes;run;


输出分位数
proc print data=quantiles;run;



根据上面的单变量分析的结果,可以帮助我们进行数据清洗的工作。




页: [1]
查看完整版本: ODS trace与output的配合使用