SAS - 按日期分组和排序事件

时间:2014-08-04 22:45:17

标签: sas

我希望,这应该通过SAS做得相当简单。 我想知道那个人尝试不同药物治疗的顺序。有些人可能会尝试治疗超过1个月,但实际上我们只是想知道他们先尝试了什么,他们尝试了什么,以及他们尝试了第三次。有些人会在疗法上来回走动,这需要被捕获(第1人),例如:

Unit Item Date Started
Person1 Yoga 1/1/2013 Person1 Vitamins 2/1/2013 Person1 Presciption 3/1/2013 Person1 Vitamins 4/1/2013 Person2 Vitamins 5/1/2012 Person2 Presciption 9/1/2013 Person2 Presciption 10/1/2013 Person3 Yoga 1/1/2013 Person3 Presciption 2/1/2013

我如何在SAS中将其概括为:

Unit Therapy1 Therapy2 Therapy 3 Therapy 4 Person 1 Yoga Vitamins Prescription Vitamins Person 2 Vitamins Prescription Person 3 Yoga Prescription

1 个答案:

答案 0 :(得分:0)

创建一个标志,指出这是一种治疗方法:

data want;
 set have;
 by unit item notsorted;  *notsorted means it looks at the data how it is and does not error for unordered by groups;
 if first.unit then therapy=0;   *start with 0 for each person.
 if first.item then thearapy+1;  *each time a different item comes in, increment therapy;
run;

nodupkey排序unit therapy,然后这是proc transpose的教科书应用。