全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1662 6
2013-03-19
悬赏 50 个论坛币 已解决
数据集data1:
a          b                 c
0001 20130101     5
0001 20130101     6
0001 20120101     6
0002 20130101     4
0002 20120101     5
需要得到的数据集:
a          b                 c
0001 20130101     5
0001 20120101     6
0002 20130101     4
0002 20120101     5

即若变量a与变量b相同则保留一条数据,若变量a与变量b不同则全部保留
谢谢

最佳答案

Eternal0601 查看完整内容

data original; input a b c; cards; 0001 20130101 5 0001 20130101 6 0001 20120101 6 0002 20130101 4 0002 20120101 5 ; run; proc sort data=original out=final nodupkey; by a descending b ; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2013-3-19 17:03:09
data original;
input a b c;
cards;
0001 20130101     5
0001 20130101     6
0001 20120101     6
0002 20130101     4
0002 20120101     5
;
run;

proc sort data=original out=final nodupkey;
        by a descending b ;
run;
二维码

扫码加我 拉你入群

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

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

2013-3-19 17:22:38
上面说的是对的,不过为啥要降序排列?
二维码

扫码加我 拉你入群

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

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

2013-3-19 17:45:51
ustcwzh 发表于 2013-3-19 17:22
上面说的是对的,不过为啥要降序排列?
看到 lz 的目标数据集中b变量为降序的,就加了个descending,不加其实也不无所谓的
二维码

扫码加我 拉你入群

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

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

2013-3-19 17:57:05
a b c 三个变量的值都相同然后删除?你试试这样
proc sql;
create table sorted as
select * from data1
group by a,b,c;
quit;
二维码

扫码加我 拉你入群

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

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

2013-3-19 18:17:43
请用以下步骤:
proc sort data=data1;by a b c;run;<按照AB 顺序排列>
proc sort nodupkey data=data1;by a b;run;<删除ab重复的数据>
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

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