FIRST.和LAST.临时变量是SAS很有特色的一点,我在R和Python中暂时没有发现类似的功能(也许它们也有这个功能,我不知道而已)。考虑这样一种场景:我们有患者就诊的数据,每一条观测对应一个患者的一次就诊记录,我们知道一个患者可能会多次就医,那么如何找到这个患者第一次就医时间以及最有一次就医时间呢?又或者我们如何确定一个患者是不是因为同一个疾病多次入院。这篇博文将详细介绍如何利用FIRST.和LAST.这两个临时变量解决类似问题。
1.创建FIRST.和LAST.临时变量
- 创建FIRST.和LAST.变量的前提是数据必须是排好序的。利用SORT排序,BY var。
- 使用SET复制已排好序的数据,用BY语句创建FIRST.和LAST.,BY的对象是第一步排序的变量 var。
***创建数据 DATA ONE; INPUT SUBJECT SCORE; DATALINES; 1 11 2 21 3 31 1 12 4 41 1 13 2 22 4 42 4 43 ; ***1.对数据进行排序 PROC SORT DATA=ONE; BY SUBJECT; RUN;