看你的例子,好像指的是日期的重複,而且每個日期用過一次後就不能再配對了。是嗎?所以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- ♂ (0 bytes) () 04/30/2008 postreply 18:58:59