美文网首页SAS编程
193:ods output & output out输出统计结

193:ods output & output out输出统计结

作者: SASPRO的打工人生活 | 来源:发表于2023-02-13 22:25 被阅读0次

    在写Table的时候,经常需要进行一些统计分析,然后会用到一些过程步,比如proc means。

    然后我们只是简单写一个proc means的话,统计结果会被输出到result窗口,我们一看结果就是我们想要的,但是SAS也没有输出数据集,我们总不可能将result的窗口输出到PDF然后再读取成数据集吧。只有输出成数据集,我们才能进一步对数据集进行处理,然后输出成table的格式。

    procmeans data=test;varheight;bysex;run;

    首先我们要知道SAS产生统计结果,SAS对这些输出结果有内置的名字,我们要做的就是让他们显示出来,这可以通过ods trace on--ods trace off实现。注意加在过程步之前和之后.

    之后我们查看log窗口,这个过程步只产生了一个对象(objects),也就是这个叫做Summary的。有了名字,我们就可以把它召唤出来了。而实现的方式可以通过output out或者ods output,

    如果我们只是输出一个数据集,大致长这样

    /*ods trace on;*/proc meansdata=test;varheight;bysex;outputout=sum ;run;/*ods trace off;*/

    但是我们可以指定我们要输出什么统计量,比如下面这样只输出例数和平均值,注意结构还发生了一些变化,

    procmeans data=test;varheight;bysex;outputout=sum n=n mean=mean;run;

    用ods output 输出数据集,注意ods output的位置更灵活,能放在过程步的外面,但是output out只能放在过程步的里面。同时需要注意的是用ods output输出数据集的时候,等于号左边是对象名称,等号右边是你想给这个数据集取的名字。

    /*ods trace on;*/ods output summary=sum;proc meansdata=test;varheight;bysex;/*  output out=sum n=n mean=mean;*/  run;/*ods trace off;*/

    如果你输出了一个不存在的对象或者位置写错了,就会报这个错,

    ods output sd=sum;

    一般来说,result窗口输出结果的顺序,就是你在log窗口看到的对象名称顺序,比如男在上面,女在下面。

    如果你加上其他选项,就能更直观感受到这个变化。

    相关文章

      网友评论

        本文标题:193:ods output & output out输出统计结

        本文链接:https://www.haomeiwen.com/subject/mvmskdtx.html