楼主: glxfgsh
16339 3

[原创博文] 如何用sas进行数据清洗——重复值查询 [推广有奖]

  • 0关注
  • 10粉丝

已卖:82份资源

博士生

11%

还不是VIP/贵宾

-

威望
0
论坛币
1501 个
通用积分
4.1666
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
1086 点
帖子
72
精华
0
在线时间
353 小时
注册时间
2007-5-2
最后登录
2025-12-2

楼主
glxfgsh 发表于 2013-8-20 21:08:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
重复值查询相对简单,其实也有很多方法,不过这里仅介绍一种个人认为最简单的方式,即利用proc sort。
通常重复值查询的变量时索引变量,比如个体编号等,其它变量的查询有时并无太大的现实意义,当然有时为了看某变量一共有多少类别,也是有意义的。
假定有数据集a,id表示个体编号,如果要查询id号是否有重复,可以用下面过程:
proc sort nouniquekey out=bb;
by id;
proc print;
run;
选项nouniquekey就是保留重复的观测,这样就可以看出一共有多少个重复观测值。
如果研究者确信id号绝不可能应该有重复,只要有,肯定应该删除,那就可以用下面过程:
proc sort nodupkey out=bb;
by id;
proc print;
run;
选项nodupkey就是保留不重复的观测,所有重复的id号都被删除掉了,仅保留其中一个,这样剩下的数据就是干净的了。
当然还有其它方式,只要有思路,就能想到很多方法,比如先对id排序,然后用lag函数产生新变量,然后比较id与lag(id),也是一种思路,等等。总之,关键是能否想到。绝大多数情况下,只有想不到,没有做不到。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:如何用 重复值 NODUPKEY unique print 清洗 如何

沙发
slimdell 发表于 2013-8-20 21:44:28
思路很重要
知乎专栏/微信公号同名:煮酒烹茶读书

藤椅
tyw226 发表于 2015-11-18 17:03:29
试过了,没有nounqekey这个东东啊。怎么弄?

板凳
teqel 发表于 2015-11-18 21:46:57 来自手机
很有意思

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 00:01