全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
16228 3
2013-08-20
重复值查询相对简单,其实也有很多方法,不过这里仅介绍一种个人认为最简单的方式,即利用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),也是一种思路,等等。总之,关键是能否想到。绝大多数情况下,只有想不到,没有做不到。

二维码

扫码加我 拉你入群

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

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

全部回复
2013-8-20 21:44:28
思路很重要
二维码

扫码加我 拉你入群

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

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

2015-11-18 17:03:29
试过了,没有nounqekey这个东东啊。怎么弄?
二维码

扫码加我 拉你入群

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

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

2015-11-18 21:46:57
很有意思
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群