经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
计量经济学与统计论坛 五区
›
计量经济学与统计软件
›
经管代码库
SAS中三种常用数据查重方法的深入比较
楼主
moonstone
9378
6
收藏
2015-03-07
虽然利用查找重复记录的方法之前也讨论过,但是一直以来未进行深入研究和比较,今天对三种常用查重方法进行了一下细化分析,非常实用,供大家参考。
样板数据集如下:
复制代码
具体查重方法如下:
1,sort语句
复制代码
ex1保留的是未重复的记录,ex2保留的是重复的记录。
如果将NODUPRECS换成NODUPKEY,会得到不一样的结果。简单地说:NODUPRECS 比较的是数据集中的所有变量,而NODUPKEY只比较by中列举的变量(也即通常所说的key变量)。 所以如果sort选项为NODUPRECS,上面的程序中将by中列举的变量换成a, 或a b, 或a b c,结果都是一样的。但是如果sort选项为NODUPKEY,结果就完全不一样。
2,data步
前提:需要先对数据进行排序。
复制代码
该过程完全等价于sort语句的选项NODUPKEY,所以first.后面的变量为a, 或b, 或c,结果完全不一样。
如果不想让ex2数据集里面的重复记录多次出现,而是重复记录只出现一次,并统计该重复记录出现的次数。该思路非常经典。可用于查看数据库中按某几个变量定义的重复记录到底有多少条。该思路运用sort是解决不了的,采用data步如下:
复制代码
retain的作用:在data步循环执行开始前初始化新变量值,使得在下一次循环前仍使用该初始化值。详细用法参考:
http://support.sas.com/publishing/pubcat/chaps/58176.pdf
上述ex2数据集也可以采用freq和summary语句实现,具体如下。
复制代码
上述两程序基本原理是一样的。以summary语句为例,nway所起的作用很大,如果不加nway 的话,那么summary的结果将把所有类型都输出来。所有类型的意思就是,class的3个变量的取值分别存在两种大的分类:缺失和不缺失,而每个变量未缺失的时候又各自有不同的取值。所以,所有类型的意思就是:3个变量,包括取缺失值和不同非缺失值的所有组合。这样的结果肯定不是我们想要的,因为我们想要的是3个变量都不缺失的结果,所以就要加上nway。
3、Sql语句
复制代码
select distinct:选取以关键变量(如上例中的a b c)确定的不同记录,该过程同样等价于sort语句的选项NODUPKEY,所以select distinct后面的变量不同,结果也不同。
同时SQL能更进一步进行频次统计,等价于data步输出的两个数据集功能的合并。
复制代码
总结以上三类方法,SQL语句最为方便实用,推荐实用
。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
sunyongfifth
2015-3-7 20:27:30
感谢分享。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
niuniuyiwan
2015-11-10 11:12:58
感谢分享
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
xddlovejiao1314
2015-11-10 11:49:52
谢谢分享。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
Setehk
2016-2-5 16:33:26
proc sort data=ex;
by a b c ;
run;
data ex1 ex2;
set ex;
by a b c;
if first.c then output ex1;
else output ex2;
run;
请问first.c是代表什么呢,不太明白呢。。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
稍等等
2016-10-7 15:43:54
谢谢楼主,总结的很有帮助
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
mercycccc
2018-7-20 17:33:13
谢谢楼主
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
[分享]SAS.Publishing.Getting.Started.with.SAS.AF.and.Frames.Jun.2006
[分享]SAS.Publishing.SAS.GRAPH.9.1.Reference.Volumes.I.and.II.eBook
[转帖][原创]SAS Publishing-PROC SQL: Beyond the Basics Using SAS
SAS Publishing SASAF 9.1 Procedure Guide
SAS Publishing-Carpenter's complete guide to SAS macro language
SAS中三种常用数据查重方法的深入比较
30币悬赏,文件自己已经找到,随机派发吧
【独家发布】Vignesh Prajapati-Big Data Analytics with R and Hadoop-Packt Publishing (2
【好书不断】The Handbook of Journal Publishing
数据查重请教
栏目导航
经管代码库
stata专版
行业分析报告
经管文库
文献求助专区
数据交流中心
热门文章
展望2026:学术智能体即将崛起?
CDA数据分析师:以数据思维赋能企业管理,驱 ...
CDA全国考点信息一览(更新于2025年12月10日 ...
Wooldridge的最新版Introductory Econometr ...
2035年中国产业政策研究报告20251204
初等数学论丛+第8辑
2026年人工智能趋势报告:颠覆规则与未来前 ...
求助文章Sharp Constant in a Sobolev Trac ...
项目介绍 MATLAB实现基于DTW-GPR 动态时间规 ...
初等数学论丛+第6辑
推荐文章
12月武汉站|Deepseek辅助论文写作与数据分 ...
2026JG学术冬训营:从Stata初高到Python机器 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
几种免费下载文献的方法----我的文献应助经
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群