我有以下数据集,我需要根据达到的最高顺序计算每个id一次: 单 双 2个或更多
(例如:如果同一患者的药物没有重叠,则另外两种药物重叠=然后根据两种情况之一的存在,将该患者计入一次2药物重叠或双重): 药物之间重叠60天或更长时间,或者如果药物在两个不同的时间段内重叠30天,则计算它们(例如,一个时期它们相同,两个药物重叠30个,而另一个时期40天则将此ID视为双重) 输出将是 单或一种药物:1(患者3在这里计算) 双重或两种药物重叠:2(患者2和4将在此计算) 三个或更多(患者1) 我不需要实际药物重叠只是每个患者只计数一次的频率计数。 总共有6种药物。
data have;
input id drug $ start :mmddyy10. end :mmddyy10.;
format start end mmddyy10.;
cards;
1 a 1/1/2004 4/4/2004
1 b 2/2/2004 6/6/2004
1 d 1/4/2005 4/4/2005
2 a 3/1/2006 4/2/2006
2 b 2/2/2006 5/3/2006
2 c 2/2/2006 4/4/2006
2 d 2/3/2001 4/4/2001
3 a 3/3/2001 4/3/2001
3 b 3/2/2002 4/2/2002
4 a 6/1/2001 8/2/2001
4 b 6/1/2001 7/7/2001
4 a 2/2/2001 4/4/2001
4 b 2/5/2001 3/28/2001
;
run;