楼主: yunnandlg
2168 4

[学习分享] SAS中Nodupkey和Nodup的区别 [推广有奖]

助理

但问耕耘,莫问收获

教授

59%

还不是VIP/贵宾

-

威望
0
论坛币
30946 个
学术水平
103 点
热心指数
114 点
信用等级
94 点
经验
64544 点
帖子
989
精华
0
在线时间
1322 小时
注册时间
2010-8-28
最后登录
2019-2-17

楼主
yunnandlg 在职认证  学生认证  发表于 2016-4-3 14:51:31 |只看作者 |倒序

1. nodupkey会把同by variable里变量有相同值的observation都删掉。这些observation包括那些与by variable里变量有相同值,但与剩下变量有不同值的observation。如,

input id1 $ id2 $ extra ;
cards;
aa ab 3
aa ab 3
aa ab 2
aa ab 1
;
proc sort nodupkey data=test3;
by id1 id2;
run;
options nocenter;
proc print data=test3;
run;
Obs    id1    id2    extra

1     aa     ab       3


2. nodup会把那些仅与by variable里变量有相同值的observation删掉,

data test2;
input id1 $ id2 $ extra ;
cards;
aa ab 3
aa ab 3
aa ab 2
aa ab 1
;
proc sort nodup data=test2;
by id1 id2;
run;
options nocenter;
proc print data=test2;
run;
Obs    id1    id2    extra
1     aa     ab       3
2     aa     ab       2

3     aa     ab       1


但要注意的是nodup只会把相邻的且仅具有相同by variable变量值的observation删掉,如
data test1;
input id1 $ id2 $ extra ;
cards;
aa ab 3
aa ab 1
aa ab 2
aa ab 3
;
proc sort nodup data=test1;
by id1 id2;
run;
options nocenter;
proc print data=test1;
run;
Obs    id1    id2    extra
1     aa     ab       3
2     aa     ab       1
3     aa     ab       2
4     aa     ab       3


宽客
stata SPSS
沙发
毛小希 发表于 2016-4-6 15:47:07 |只看作者
受教了
回复

使用道具 举报

藤椅
孤单的我们 发表于 2016-4-6 15:51:23 |只看作者
谢谢分享
回复

使用道具 举报

板凳
小沐君 发表于 2018-10-8 13:53:00 |只看作者
谢谢分享
回复

使用道具 举报

报纸
sihaigo 发表于 2019-2-11 16:48:55 |只看作者
感谢分享
已有 1 人评分经验 收起 理由
yunnandlg + 80 精彩帖子

总评分: 经验 + 80   查看全部评分

回复

使用道具 举报

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

GMT+8, 2019-2-18 10:49