数据源很简单,就股票代码(code)、交易时间time、与日最高价high。proc sort data=d;
by high;run;
上面的语句容易理解,就是对数据集d,按照high从小到大进行排序。
但是,我的老师给出了这样的语句,很迷惑:
proc sort data=test2 out=test3 nodup
proc sort data=test2 out=test3 nodupkey
data data1 data2;
set test3;
by code time;
if first.code then output data1;
if last.code then output data2;
run;
第一,这里by后面加了两个变量,如果是进行排序,那是什么意思呢?不可能是对数据同时按照code和time进行排序吧?逻辑是什么?
第二,if first.stkcd then output data1;这句什么意思呢?first是什么?
谢谢MUA