全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2248 7
2011-07-23
说明:
1、数据分析只需要年度、月份、筛查人次数合计这3个变量,
2、年度=2011、月份=2、筛查人次数合计=817的观测有4条,
3、因为筛查人次数合计数817已经包括了其他人群分类类型筛查人次数(不育129、不孕133、供精者27、其他345),
4、所以这4条观测记录我只需要保留1条记录就满足我需要的数据了
类似于这4条观测的情况还有很多。

根据说明,
请问除了用 nodupkeys这个选项外,
是否还有其他方法能够实现这个数据要求。
proc sort out=hiv nodupkeys;
by id _COL1  _COL74;
run;

*******************************************************************************************************************;
proc import datafile='D:\nodupkeys.xls' out=a dbms=excel replace; sheet='sheet1$'; getnames=yes; run;

data a;set a;
keep _COL0-_COL1 _COL74; *_col0='年度‘, _col1='月份', _col74='筛查人次数合计';
run;

proc sort data=a;
by _COL0;
run;

data hiv;
set a;
rename _COL0=id;
run;

proc sort data=hiv;
by id _COL1;
run;

proc sort out=hiv nodupkeys;
by id _COL1  _COL74;
run;
附件列表

nodupKeys.xlsx

大小:16.4 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-23 10:50:13
你的问题和这个应该很类似:https://bbs.pinggu.org/thread-1139495-1-1.html
二维码

扫码加我 拉你入群

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

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

2011-7-23 11:00:09
这个没有问题.

你可以将年月合成一个变量id之后, use some code like:data ...
set ...
if first.id;
by id;
run;

大功告成!
二维码

扫码加我 拉你入群

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

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

2011-7-23 11:02:14
2# yugao1986
great!
thanks a lot!.

  • proc sql;
  • create table hiv1 as
  • select distinct *
  • from hiv;
  • quit;
二维码

扫码加我 拉你入群

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

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

2011-7-23 11:09:37
3# jasonscut
恩,
但是实际需要区分的变量不只是年度和月份(这里是为了说明简洁),还有好几个,
这样用first.id是不是就很困难了?

实际上我倾向于用first.id(因为proc sql不会)。
二维码

扫码加我 拉你入群

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

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

2011-7-23 13:35:25
楼上兄弟,
不管有多少个都行, use cat() function to put them altogether as put as one variable id.

只不过用cat 的时候yong一下. trim/compress/...
不然很难看.
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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