請進

看你的例子,好像指的是日期的重複,而且每個日期用過一次後就不能再配對了。是嗎?所以ID=1 的日子‘20’配對了三次,ID=2的’10‘配對了一次,12’配對‘了一次,一共兩次。ID=3是0次。如果ID=2有三次10,也隻能是配對一次。

假定你的DATASET A 裏隻有這三個變量,並且STARTDATE, ENDDATE都是$10.格式。

data start;
set A;
day=substr(startDate,4,2);
keep ID day;
run;
data end;
set A;
day=substr(endDate,4,2);
keep ID day;
run;

data mix;
set start end;
temp=1;
proc sort; by ID day;
run;

proc means data=mix sum noprint; by ID day;
var temp; output out=B sum=;

data B;
set B;
pairs=INT(temp/2);
drop temp;

proc print; var ID day pairs;
run;




所有跟帖: 

最後再為每個ID 加總 pairs就可以了。 -FL33770- 給 FL33770 發送悄悄話 (0 bytes) () 04/30/2008 postreply 18:58:59

請您先登陸,再發跟帖!