统计211

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2557|回复: 0
打印 上一主题 下一主题

利用SAS/PRO SUMMARY对数据库进行查重

[复制链接]
跳转到指定楼层
1
发表于 2011-7-20 22:05:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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!

  
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享分享1 分享淘帖 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


免责声明|关于我们|小黑屋|联系我们|赞助我们|统计211 ( 闽ICP备09019626号  

GMT+8, 2025-4-17 14:05 , Processed in 0.080177 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表