统计211

标题: 利用SAS/PRO SUMMARY对数据库进行查重 [打印本页]

作者: xingxing    时间: 2011-7-20 22:05
标题: 利用SAS/PRO SUMMARY对数据库进行查重
本帖最后由 xingxing 于 2011-7-20 22:06 编辑

SAS中sort过程的选项nodup和nodupkey非常好用,nodup对数据库中整条记录相同做删除,nodupkey对by变量相同的记录做删除。均可以把做删除后的记录输出(out选项)到一个数据集中。

但是,如果就想看一下哪些整条记录相同,或者按某几个变量查是相同的,sort过程似乎就不能解决这个问题了。此时,proc summary该闪亮登场了!

看下面的程序:

data b;
input id $ a b c;
cards;
001 1  2  20
002 2  3  18
003 3  4  35
004 4  5  40
002 2  3  27
006 5  6  40
004 4  5  60
;
run;
proc summary data=b nway;
class id a b;
output out=c (drop=_type_  where=(_freq_>1));
run;
proc print data=c;
run;

结果如下:

                                Obs    id     a    b    _FREQ_

                                 1     002    2    3       2
                                 2     004    4    5       2
有没有表达清楚呢?

如果还没有,请再看以下程序及结果吧:

程序:

proc sort data=b nodupkey out=d;
by id a b;
run;
proc print data=d;
run;

结果:

                                  Obs    id     a    b     c

                                   1     001    1    2    20
                                   2     002    2    3    18
                                   3     003    3    4    35
                                   4     004    4    5    40
                                   5     006    5    6    40

OK,就暂到此啦!Good luck!

  





欢迎光临 统计211 (http://tj211.com/) Powered by Discuz! X3.2