SAS中文论坛
标题:
SAS宏在临床试验中应用-移除重复记录数据
[打印本页]
作者:
shiyiming
时间:
2005-8-24 14:54
标题:
SAS宏在临床试验中应用-移除重复记录数据
[code:9d4cb]%macro remove(data=, /*原始数据集*/
out= /*输出移除重复数据的数据集*/ );
proc sort in=&data out=&out noduplicates;
by _all_;
run;
proc print data=&out;
run;
%mend;
data kkk;
input id v1-v2;
datalines;
1 11 12
2 21 22
1 11 12
3 31 32
;
run;
%remove(data=kkk,out=out);[/code:9d4cb]
作者:
shiyiming
时间:
2005-10-1 09:14
标题:
collen管理员真好
[color=blue:58072]我来论坛没多少次,就发现collen的好几个程序好管用,
这种无私奉献的精神值得提倡![/color:58072]
作者:
shiyiming
时间:
2005-11-10 23:40
标题:
RE:Collon
谢谢,您的这个程序非常实用,我以前也编写了一个宏程序,但没有您的精练,向您学习。
[code:38cb0]%MACRO repeatd(data,var=,outdata=,prnopt=T);
options nodate nonumber;title;
%if &outdata= %then %let outdata=&data;;
%if &var= %then %do;
proc iml;use &data;setin &data;
xx=rowcat((contents()+" ")`); call symput ('var',xx);quit;
%end;
%let nv=%wordcnt(string=&var, delim=%str( ));
proc sort data=&data; by &var;
data &outdata;set &data;_tmp=0;
%do i=1 %to &nv;
%let nvi=%scan(&var, &i);if &nvi=lag(&nvi) then _tmp=_tmp+1;
%end;
%if &prnopt=T %then %do;
proc print;where _tmp=&nv;var &var;
title "Duplicated Observations Were Deleted";run;title;
%end;
data &outdata;set &outdata;if _tmp=&nv then delete;drop _tmp;run;
%MEND repeatd;[/code:38cb0]
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2