SAS Training Vol4. data manipulation
前面我们讲了求和、format和transpose,今天讲个小细节:观测的读取。
先来做道 SAS 试题:
现有 SAS 数据集 a,5000 条观测,有 code 如下:
LIBNAME leslie "/home/u49145886/leslie/data"; proc contents data= leslie.a; run; options obs= 100; proc print data= leslie.a(firstobs= 99); run; options obs= max; proc means data= leslie.a(firstobs= 400); run;
问 proc print、proc means 各处理多少行观测?
这里主要关注两个 option,firstobs 和 obs,前者 determine 从 input data 中开始读取的第一行观测的位置,后者 determine 读取的最后一行观测的位置,即分别从第 99、400行开始读到第 100、max 行。那么答案是?
在 set statement 中,仍然适用:
DATA b1; set leslie.a(obs= 25); RUN; DATA b2; set leslie.a(FIRSTOBS= 7 OBS= 20); RUN;
借助很简单的一些 option,我们可以实现简易的 data manipulation。
下一次推送,主题应该是关于 program data vector(PDV) 和 input buffer 的理解。以后 SAS Training 基本保持 syntax 和 quiz 穿插的节奏,一起进步。
