基本常用语法:
proc expand data=YourData Out=YourData method=option;
by variable;
convert variable1= variable2/ transformout = (option);
run;
基本语法大致如此,
data=你的数据集,Out为输出的数据集,method指定在数据间的差值方法,默认的方法是,一般来说我们设为method=none;
by variable 表示按变量variable 分组运算。
convert variable1= variable2 表示要将变量1 转换为变量2,至于如何转换 则要看transformout。
transformout = (option); option指定转换的方法和参数。
下面举例说明
例1:LAGS 和 LEADS
proc sort data=sashelp.Stocks;
by Stock;
run;
proc expand data=sashelp.Stocks Out=Stocks method=none;
by Stock;
convert close = lead_close / transformout = (lead 1);
convert close = lag_close / transformout = (lag 1);
run;

例子2 求最近N个观测的最大值
proc expand data=sashelp.Stocks Out=Stocks method=none;
by Stock;
convert close = max_close / transformout = (movmax 5);
convert close = min_close / transformout = (movmin 5);
run;

未完待续
更多精彩 尽在公众号:SAS与量化投资



雷达卡




京公网安备 11010802022788号







